티스토리 뷰

씬 간의 이동이야 LoadScene으로 손쉽게 하면 된다.

문제는 플레이어였다.

나는 셀레스트처럼 맵을 이동해도 플레이어가 방향과 속력을 유지하길 원했다.

하지만 씬을 파괴하고 새로 만드는 과정에서 그렇게 하기가 쉽지 않았다.

Trigger가 되는 오브젝트(맵의 끝)에 LoadScene 스크립트를 넣고

Save에서는 플레이어의 x,y position과 rb2d의 velocity x,y를 Playerprefs에 저장하게 하였고

Load에서는 플레이어를 받아온 후 저 값을 쭉 대입하려고 했다.

문제는 LoadScene 스크립트는 결국 이전 씬의 산물인 것인지 뭔지 자꾸 이전 씬의 플레이어 좌표와 속력(당연히 0,0이다)을 불러왔다.

포기..


다음 무식하게 진행한 방법은

모든 맵(Grid)을 절대좌표 기준으로 유기적으로 연결 될 수 있도록 겹친 후,

Player는 Singleton + DontDestroyOnLoad를 통해 게임 내 단 하나 존재하며, 씬 간의 이동에도 파괴되지 않는 고유의 오브젝트로 만들었다.

뭐 그렇게 해결된 것 같기는 하나, 무언가 부자연스러운게 석연치않다. 어쨌든 구현에 성공하긴 했으니... 서론은 접구


카메라는 Cinemachine을 사용했다. Import였나.. 아무튼 유니티 내에서 다운로드 가능하다.

Follow는 Player이며 맵의 경계를 위해 Confiner의 Bounder 2D를 설정하였다.


1. Player를 Singleton Pattern으로 만들기

2. 카메라는 모든 씬에 두고 Confiner도 미리 설정한다. Follow가 문제인데 이는 스크립트를 통해 해결하였다.


으아 귀찮다.. 나중에 정리..

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함