로부터에 따라 화면 비율 질문 , 나는 2D UI 시스템 (대부분 자신의 집에서 재배 솔루션)에서 작업 할 때 다른 사람이 사용하는 것을 듣고 관심이 있어요. 특히 좌표계를 어떻게 처리합니까? 제 생각에는 세 가지 옵션이 있습니다.
- 하드 코딩 된 좌표 (예 : 0-> 720, 0-> 576)
- 렌더링 전에 실제 좌표로 매핑 된 정규화 된 좌표 (0.0-> 1.0, 0.0-> 1.0)
- 렌더링 전에 실제 좌표에 매핑 된 가상 좌표 (예 : 0-> 1600, 0-> 1000)
하드 코딩은 고정 플랫폼에 있고 화면 공간 좌표가 무엇인지 미리 알고 있거나 가능한 모든 화면 크기 세트에 대해 화면 레이아웃을 작성할 준비가 된 경우에만 유용합니다.
정규화 된 좌표는 훌륭하지만 화면의 가로 세로 비율이 고정되어 있지 않으면 모호성이 발생합니다 (예 : 4 : 5에서와 같이 와이드 스크린에서 실행할 때 0.75가 다른 실제 좌표에 매핑 됨). 또한 저자에게는 UI 요소를 (0.2 x 0.2)로 선언하는 것이 실제로 반 직관적입니다. 렌더링 할 때 실제로 사각형이 아님을 알기 만합니다.
가상 좌표는 모호하지 않지만 리매핑 단계에서 정규화 된 좌표와 동일한 문제를 겪습니다. 소수의 작은 불일치로 인해 오류가 발생할 수 있으므로 타일로 묶어야하는 UI 요소에 이음새가 생깁니다.
마찬가지로 고정 해상도 화면이있는 경우 정규화 된 좌표와 가상 좌표는 UI 이미지에서 정교하게 제작 된 아티스트의 픽셀과 화면의 픽셀간에 1 : 1 매핑을 보장하기가 매우 어렵다는 것을 의미합니다. 불쾌한 스케일링 아티팩트 (화면에서 텍스처 쿼드로 렌더링한다고 가정).
가로 세로 비율에 대한 모호성을 피하기 위해 가상 좌표 접근 방식을 사용했습니다. 16:10 화면으로 렌더링 할 때 UI 공간은 (0,0)-> (1600,1000)이지만 4 : 3으로 렌더링 할 때 사용 가능한 UI 공간은 실제로 (133,0)-> (1467)입니다. , 0).
내가 모르는 더 나은 솔루션이 있습니까? 이 세 가지 접근 방식의 문제점을 최소화하기위한 좋은 전략이 있습니까?