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

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

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

안녕하세요?


이번 포스팅에서는 지난번에 새로운 게임 오브젝트를 만들고자 하는 것이 그다지 유용하지 않은 선택이라는 것을 알 수 있었고, 이번 포스팅에서는 어떻게 해서 상황을 잡았는지 그 내용에 대해서 포스팅 하고자 합니다.



우선 새로운 함수...... 일단 CameraFollow.cs 스크립트에 이 카메라의 위치를 결정해 주는 함수에서 smoothTime이라는 파라미터에 일단 주목을 했습니다.



그래서 카메라가 목표지점을 따라잡는 시점이 늦어서 생기는 문제라고 생각해서 원래는 0.3으로 되어 있는 속도를 0.03으로 만들어 보았습니다.



그러자 부스터의 스피드가 상당히 빨라서 문제가 되는 상황임이 틀림없는 데도, 태양이 사라지지 않는 것을 볼 수 있었습니다. 즉, 어쩌면 지금까지 문제가 바로 이 플레이어 캐릭터를 따라가는 카메라의 속도.....라기 보다는 도착할 때 까지 걸리는 시간에 문제점이 있었을 것이라는 생각이 듭니다.



그래서 한번 부스터의 속도를 더 올려서 실험을 해 보았는데, 21까지는 어떻게 큰 문제없이 작동을 한다는 것을 알 수 있었습니다.




그래서 이번에는 거리에 따른 변화에는 아무런 문제가 없는 것인가를 테스트 하기 위해서 GameManager.cs를 찾아가서, 거리를 10000.5f로 올려 보도록 했습니다.



잠시 지루한 시간이 지나고 나서, 위 스크린샷처럼 태양이 아직까지 사라지지 않는 것을 확인할 수 있었습니다. 이렇게 카메라가 따라잡는 속도가 빨라지니까 상황이 나아진 것이 아닌가 하는 생각이 들었습니다.



혹시나 싶어서 부스터를 꺼서 기본속도로 만들어 보았습니다. 이 상황에서도 태양이 왼쪽으로 밀리거나 하는 현상을 보이지 않았으며, 위치의 변화도 없는 것을 확인할 수 있었습니다.



실제로 카메라가 비추는 화면에서 어긋난 정도도 큰 차이가 없는 것을 확인할 수 있었습니다.




부스터의 속도를 올려서 32로 만들자 여기서 부터 슬슬 문제가 생기기 시작했습니다. 태양의 위치가 이상하게 된 것만이 아니라 어찌된 것인지 태양이 오른쪽으로 전진까지 하는 것을 확인할 수 있었습니다.



일단 FreeParallax.cs 스크립트로 가서, rightEdge.x가 왼쪽으로 움직이라는 값을 -15에서 -8로 바꾸어 주도록 합니다.



이제서야 제대로 중앙에 들어오는 것을 볼 수 있었습니다.



그래서 결론부터 말하자면, 문제는 카메라를 따라가는 속도를 얼마로 설정해 주든지 간에 결국 부스터의 속도가 빨라지면, 언제든지 문제가 생길 수 있다는 것 입니다. 위 스크린샷처럼 중앙으로 오도록 맞추는 데는 성공했지만, 이 부스터의 속도 대비 카메라가 따라갈 시간이 문제입니다. 그래서 다음 포스팅 부터는 이 문제를 해결하는 데 온 힘을 집중해 보도록 하겠습니다.

반응형