(아는 사람은 아는 그 프로젝트 )
1. 지난번부터 계속 고민하던 내용인, 카메라에 비추어져서는 안되는 영역 (빈 타일)이 보이는 문제를 어떻게든 해결해보려고 했다.
검색을 해보니 orthographic size를 조절하든가, Cimematic에서 화면에 비춰질 영역을 폴리곤으로 지정해서 해당 영역을 벗어나지 않도록 카메라 범위를 설정할 수 있다고 했다.
그런데 안타깝게도 내 프로젝트는 무한 맵을 사용하기 때문에, 컴파일 타임에서 어떤 특정 영역을 지정하기 곤란한 상황이다.
보다시피 뷰포트 width가 넓어지면 저렇게 회색 공간이 tile이 재배치 될 때마다 보인다.
2. 생각해본 해결책은 두 가지이다
1) 타일 자체를 크게 키운다
2) Orthographic size를 조절해서 카메라가 비추는 범위 자체를 줄인다.
1은 당장에야 통할지 모르겠지만, 내 환경이 아닌 실제 타인의 prod 환경에서 똑같은 오류가 발생할 수 있다 (ex. 3820 * 1920 같은 초고해상도를 사용하는 사용자에게서)
이런 리스크를 껴안기 싫었고, 타일이 커진 만큼 관련된 재배치 로직도 다 수정해야한다. 재배치 코드들은 상수값으로 하드코딩 되어있어 섣부르게 건들이면 아랫돌 빼서 윗돌 괴기식이 될 것은 매우 자명했다.
그래서 2번 해결책이 적절해보였는데 시발.... 이거 왜 안되는거 같은지 모르겠다
Ortho Size를 조절하면 저 주황 border는 줄어들어 들지만, 실제 Game Scene에는 아무런 영향을 미치지 않는다. 오히려 Game Scene은 현재 Game Scene의 뷰포트 크기만을 따라가는 듯 보였다....
** Ortho Size와 Game Scene의 관계에 대해서 알려주시면 감사드리겠습니다 **
여하튼 좀 두들겨보다가 결국 신경질 나서 뮤즈에게 물어봤는데...
뮤즈는 그냥 환경설정 옵션을 만들어서 기기별 다른 해상도를 제공하는 선택지를 제공하라고 한다
... 근데 이건 배보다 배꼽이 더 커지게 된다.
결국 낑낑대다가 자체적으로 내린 결론...
강의의 최종 목표인 모바일 환경에서"만" 동작이 잘되면 OK다...! 라는 정신승리를 택하기로 하였다.
지금 이 문제에 과도하게 시간을 투자하는 것은 유니티의 A-Z를 빠르게 접하자는 내 학습목표에 부정적인 영향을 끼칠 것이라 생각이 들었기 때문이다.
최대한 많은 프로젝트를 매듭지어 보자는 마음을 한 번 다시 생각해보자.
으음.... 웹에서는 화면비에 따른 른 화면 구성을 하기 굉장히 용이한 환경이였는데, 게임은 반응형을 위해서 생각보다 고려해야할 것이 많은것 같다.
게으른 개발자답게, 하나의 소스로 PC, 모바일 환경 모두를 커버 치고 싶었는데 (물론 빌드는 별도로) 아직 그 단계까지 사고하기는 내 숙련도가 모자라네.
까비까비숑
강의에 픽셀 퍼펙트 카메라 있지않나? 나중에 나오던가
resolution 조절해도 딱히 변하는게 없던뎅
뭔가 이상한데.. 카메라가 perspective라면 orthographic으로 바꿔봐.. 그런데 적용된다 하더라도 orthographic size를 건드리면 확대/축소 개념으로 접근하는게 될텐데, 그게 원하는 바랑 맞을지는 모르겠다.
맞음 확대/축소로 접근하게 되면 캐릭터가 화면에서 차지하는 비율이 너무 커져서 내가 의도하는 바는 아닌데, 그래도 지금 현상을 해결할 수 있다고 생각해서 일단 그 쪽으로 알아본거
화면 길이+화면 가장자리 좌표 사용해봐. Screen.Width Camera.main.ViewportToWorldPoint 나였으면 화면 가장자리부터 바깥쪽으로 현재 스크린의 크기만큼 미리 생성시켰을듯
GUI 환경에서 셋팅하는건 불가능한건가? Camera나 GameManager에 스크립트를 따로 달아줘야한다는 말이지??
뱀서류처럼 이동하면서 실시간 타일 생성 되는 무한맵 아니야? 미리미리 화면 바깥쪽 맵을 생성해두면 카메라를 신경쓸 필요 자체가 없다는 얘기였음