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

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

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

안녕하세요?


계속해서 이어지는 시행착오의 연속인데, 이번 포스팅에서는 결국 다른 시도는 다 접어두고 다시 처음으로 돌아온다는 결론을 내리는 것을 보여주는 포스팅이 되겠습니다. 그 수많은 시행착오 끝에도 별다른 뽀족한 방법이 없자, 다른 각도로 보기 위해서 다시 처음으로 돌아오는 과정을 포스팅 하고자 합니다.



먼저 위 스크린샷에서 보여지는 유니티 스크립트 API에서 다른 방법이 있다는 것을 알 수 있었습니다. 결국 다른 시도를 위해서 한번 저 WorldToScreenPoint()메소드를 지푸라기라도 잡는 심정으로 시도를 해 보았습니다.



그래서 아예 leftEdge의 좌표값을 지정해 주는 메소드를 만들고, 메소드도 ViewportToScreenPoint()로 바꾸었습니다.



그런데 결과는 처참하게 실패입니다. 아예 말도 안되는 먼 곳에 태양이 생성되어 있는 것을 볼 수 있었습니다.



결국 이 작업을 위해서 위 스크린샷처럼 다시 ViewportToWorldPoint()라는 메소드로 바꾸었는데, 여기서 중간값인 0.5f를 넣어주면, X축과 Y축이 정 중앙으로 화면을 찍을 것이고, 이걸 바로 카메라상의 위치에서 유니티5상의 좌표로 바꾸어 줄 것이라고 기대를 하고 한번 위 스크린샷과 같은 방법을 써 보았습니다.



하지만 결과는 그다지 만족 스럽지는 않았습니다.




일단 이게 제대로 유지가 되는지를 확인해 보기라도 하기 위해서 우선 1000.5f로 패럴렉스 스크롤이 바뀌는 지점을 바꾸어 보았습니다.



이번에도 저를 실망시키지 않는다고 해야 할까요? 역시나의 결과라고 해야 하띾요? 태양의 위치가 어긋나는 것을 볼 수 있었습니다.



다만 과거의 결과에 비해서 그렇게 까지 많이 바뀌지는 않은 것이 아닌가 하는 생각이 들기도 합니다.



아예 10000.5f의 거리까지 연장을 시켜서 한번 더 확인을 해 보고자 합니다. 여기서도 그렇게 까지 많이 어긋나지는 않은 것이 아닌가 하는 생각이 들었습니다.



실제로 카메라가 비추는 화면에서 어긋나는 정도가 과거에 비해서 많이 줄어서 어떻게 해답을 찾은 것이 아닌가 하는 생각이 들기도 했습니다.




그래서 한번 부스터까지 켜서 스피드가 9일 경우에 한번 테스트를 들어가 보도록 합니다.



일단 태양이 나오는 것 까지는 확인을 제대로 할 수 있었습니다.



다만 어떻게 된 것인지 거리는 분명히 같은 것인데도 조금은 카메라가 비추는 화면에서 벗어나는 정도가 더 커진 것을 볼 수 있었습니다. 결국 어떤 상황인지는 모르지만, 이것도 그다지 좋은 방법은 아니라는 것을 알 수 있었습니다.



그래서 결국 고민끝에 이런저런 시도가 그다지 큰 영향을 주지 않는 다는 것을 알고는 그냥 처음의 코드로 돌아가기로 하였습니다. 결국 part2와 part3에서 했는 시도들은 거의 의미가 없느냐 하면, 그것도 아닌게, 전혀 사전지식도 없는 상황에서 어떻게 무언가를 하기 위해서는 이런 시행착오가 이어지는 데, 다음 포스팅에서 어떻게 해서 힌트를 알아냈으며..... 그걸 적용하는 것을 보여드리고자 합니다.

반응형