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

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

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

안녕하세요?


어제의 마지막 포스팅에서 무언가 문제가 발생해서 패럴렉스 스크롤에서 태양이나 달과 같이 계속 화면에 잡혀야 하는 물체를 구현하는 것에 있어서 첫 걸엄을 뗀다고 볼 수 있습니다. 이번 작업에서 부터 본격적으로 다운로드 받은 코드를 편집하면서 이를 가지고서 수 많은 시행착오를 하는 것을 포스팅 하고자 합니다.



먼저 코드에서 위 스크립트와 같이 if문을 두어서 MinX값과 MaxX의 값이 모두 9999가 되면, 이를 유일하게 패럴렉스 스크롤에서 계속 따라다니는 오브젝트-마치 달이나 태양과 같은 오브젝트를 구현하기 위해서 특정한 값을 입력하면, SetPosition()함수가 유일하게 반응을 하도록 만들어 줍니다.


그리고 여기서 rightEdge.x라는 값은 바로 카메라의 오른쪽 선인데, 그곳의 x축 좌표를 가지고 오라는 것 입니다. 즉, 여기서 왼쪽으로 = 마이너스 30 정도의 값으로 움직여서 배치를 하라는 의미가 됩니다.



그래서 유니티5로 돌아와서 우선 MinX와 MaxX의 값을 모두 9999로 만들어 주도록 합니다.



일단 너무 왼쪽으로 만들어 지는 것을 볼 수 있었습니다. 그래서 하는 수 없이 시행착오 과정에 들어가 보도록 합니다.



왼쪽으로 15정도만 움직이라고 명령을 내려 주도록 합니다.




일단 제대로 태양이 화면의 한 가운데로 뜨는 것을 볼 수 있었습니다.



그리고 실제로 게임 오브젝트도 거의 카메라 화면의 정 가운데에 위치하는 것을 볼 수 있었습니다.



이제 GameManager.cs로 가서 갑자기 패럴렉스 스크롤이 바뀌는 지점을 100.5f로 바꾸어 보도록 합니다.



거리가 바뀌었는데, 이전과는 달리 제대로 나오는 것을 볼 수 있었습니다. 




그래서 이번에는 아예 한번 화끈하게 거리를 늘려 보았습니다.



일단 1000.5f의 거리를 넘어서도 제대로 태양이 나오는 것을 볼 수 있는데, 어딘가 위화감이 듭니다?



가만히 보니, 1000.5f 정도로 거리를 늘리니까 게임 오브젝트가 전체적으로 오른쪽으로 이동한 것을 볼 수 있었습니다. 그래서 이 때는 몰랐는데, 앞으로의 작업이 어느정도는 별 의미가 없는 결과를 내었는 헛 작업이 되기도 하였습니다. 다만, 이러한 시행착오를 거쳐서야 제대로 결과물이 나올 수 있다는 것을 알 수 있었습니다.

반응형