본문 바로가기
유니티5 독학 & 게임 제작

유니티5 독학하기 그 91.5번째 걸음-계속 화면에 잡히는 물체를 위한 패럴렉스 스크롤 part4

by 인터넷떠돌이 2018. 9. 24.
반응형

안녕하세요?


결국 지난번 포스팅에서는 처음으로 결국 돌아가는 과정을 보여드렸는데, 이번 포스팅에서는 어떻게 해서 우연히 힌트가 되는 것을 잡았고, 그걸 해내었는지 보여드리고자 합니다만, 내용이 너무 길어져서 하는 수 없이 2 부분으로 포스팅을 나누어야 했습니다. 그래서 첫번째 부분을 먼저 올려보고자 합니다.



언제나처럼 시행착오 중 입니다. 일단 1000.5f를 넘어서도 태양이 문제없이 뜨는 것을 볼 수 있었습니다.



얼마나 카메라가 비추는 화면에서 넘어갔는지도 체크해야 하는 과제이기는 입니다.



그리고 거리를 달리해서 체크해 보도록 합니다. 이 경우에는 100.5f를 넘어서 패럴렉스 스크롤의 화면이 바뀌는 것인데, 이번에도 문제없이 태양이 뜨는 것을 확인할 수 있었습니다.



카메라가 비추는 화면에서 스프라이트가 벗어나는 정도도 큰 차이가 없는 것을 확인할 수 있었습니다.




그런데 여기서 한가지 자그만한 문제가 생겼습니다. 부스터를 추가 구매해서 부스터 스피드를 18로 올렸는데....



이렇게 보면 아까와 무슨 차이가 있느냐고 하실 건데, 문제는 그 다음입니다.



일단 부스터를 켠 상태에서는 제대로 태양이 화면상에 나오는 것을 볼 수 있습니다.



실제로 태양이 나오는 결우와 큰 차이도 없습니다만........




부스터를 끄자 태양이 사라지는 것을 확인할 수 있었습니다.



그리고 카메라가 비추는 화면에서 벗어나는 정도도 커지는 것을 볼 수 있었습니다.



그래서 문든 든 생각이 바로 이 예제로 받기만 했는 CameraFollow.cs라는 스크립트였습니다.



먼저 유니티5상 계층뷰에서 Player게임 오브젝트를 클릭합니다.




그리고 나서 이 Player게임 오브젝트의 위치를 기억해 두도록 합니다.



그리고 먼저 든 생각이 일단 새로운 게임 오브젝트를 만들고, 이 게임 오브젝트에 적용될 스크립트를 작성하자는 생각이 들었습니다. 그래서 처음의 시도로는 위 스크린샷처럼 CamerPointLogic.cs라는 C#스크립트를 만들어 보았습니다.



그리고 CameraPoint라는 게임 오브젝트를 만들고 여기다가 새로 만든 C#스크립트를 컴포넌트로써 붙여 주도록 합니다.



이렇게 해서 눈에는 보이지 않는 게임 오브젝트가 나오는 것을 볼 수 있었습니다. 그리고 이게 화면의 한 가운데에 위치하기 위한 x축의 좌표까지 일단 찍어 주었습니다. 하지만 다음의 생각에서 이게 할 필요가 없는게 아닌가 하는 생각이 들었습니다. 왜냐하면 그냥 플레이어 캐릭터만 따라다니면 아무런 차이가 없을 것이고, 그렇다고 해서 플레이어 캐릭터의 속도가 빨라지면 이를 감안해서 둘 사이의 거리를 좁혀줄 필요가 있었습니다. 그래서 지금의 경우에는 필요가 없는 것이 아닌가 하는 생각이 들었습니다.

반응형