반응형
NGUI Atlas 화질 저하?
NGUI Atlas로 묶으면 이상하게 원본과 다르게 품질 저하가 발생한다. 해당 관련되어서 정보를 알아보면 아래와 같은 이유를 찾을 수 있다.
- 아틀라스 사이즈가 커질 수록, 화질 저하가 발생한다. 이는 아틀라스를 만드는 내부 로직 또는 유니티 버전별 내부 로직 의심. (명확한 이유가 없다는 과거글)
실제 진행하는 프로젝트 개발 과정에서, UI 디자이너와 아트 디렉터(AD) 분들이 뭉개져 보인다는 제보를 들었다. 원본 리소스 개별 리소스와 아틀라스를 비교를 해서 확대해보니 픽셀이 깨져보이고 있었다.
원인
유니티에서는 모든 파일을 'Object'클래스를 상속받은 파일로 일괄 관리를 한다. 그래서 부가적으로 각 파일마다 메타 파일이라는 것이 생기고, 거기서 속성을 조절할 수 있다. 다르게 이야기를 하면 유니티 포맷팅 형식이 따로 있다는 것.
해결 방법
1. 각 리소스의 기본적인 포맷팅 변경
정확하고 선명한 화질을 위해 리소스 이미지의 옵션을 4개를 수정해줘야한다.
- Texture Type: Editor GUI and Legacy GUI
- 아틀라스 기능이 에디터에서 이루어지므로, 에디터에서 가장 선명한 텍스쳐 타입으로 설정해주어야한다. - Read/Write Enabled: 체크 해제
- 스크립트로 해당 텍스쳐의 픽셀을 읽을 때, 해당 기능이 체크되어야하는 부분이기에 해제, 해제를 해야 상시 메모리 절약을 할 수 있다. 아틀라스 화질과는 무관한 옵션 - Filter Mode: Point (no fiter)
- 픽셀 계단 현상 보간 처리로, 해당 기능이 기본적으로 이중 보간으로 켜져있는데 이 기능이 오히려 원본보다 깨지게 보이는 영향을 준다. 해당 기능을 꺼준다. - Format: RGBA 32 bit
- 가장 선명한 이미지 포맷으로 설정해준다.
2. 아틀라스 리소스 수정
아틀라스의 PNG파일 수정을 해준다.
- Generate Mip Maps: 체크 해제
- 해당 옵션은 카메라 거리에 따른 보간 처리인데, 이 부분이 켜지면 거리가 멀거나 할 경우 흐릿하게 보이게 되기에 보통의 경우는 해제해주는 쪽이 올바르다. (2D 게임에서 사용되는 경우에도 거리가 멀어지는 경우도 없고, UI가 거리가 있을 일이 없다.)
반응형
'R&D' 카테고리의 다른 글
Unity, 유니티 버전 업그레이드 이후 전체 파일 및 에셋 갱신하기 (Refresh) (0) | 2022.12.22 |
---|---|
C#, 서버 시간으로 동기화하기 (HTTP 웹사이트 동기화) (6) | 2022.08.13 |
Unity, 전역으로 코루틴 사용하기(Static Coroutine) (0) | 2022.07.24 |
Unity, UI Masking 중첩 해결 방안 (0) | 2022.03.06 |
C#, Performance Of String (2) | 2022.01.17 |
댓글