Public/Unity
최적화 - Texture
Wingold
2022. 8. 24. 10:36
대부분의 메모리는 텍스처로 이동하므로 import 설정이 중요합니다.
- 최대 크기 낮추기(Lower the Max Size)
시각적으로 허용 가능한 결과를 생성하는 최소 설정을 사용합니다. 이것은 비파괴적이며 텍스처 메모리를 빠르게 줄일 수 있습니다. - 2의 거듭제곱(POT) 사용(Use powers of two (POT))
Unity에는 POT가 필요합니다.
모바일 텍스처 압축 형식(PVRCT 또는 ETC)에 대한 텍스처 치수. - 텍스처 아틀라스(Atlas your textures)
텍스처를 아틀라스로 만들 수 있습니다.
여러 텍스처를 단일 텍스처에 배치하면 그리기 호출을 줄이고 렌더링 속도를 높일 수 있습니다. Unity SpriteAtlas 사용 하시거나 타사의 텍스처 패커를 사용하십시오. - 읽기/쓰기 활성화 옵션((Toggle off the Read/Write Enabled option))을 끕니다.
활성화되면 이 옵션은 CPU 및 GPU의 주소 지정 가능 메모리 모두에 복사본을 만들어 텍스처의 메모리 공간을 두 배로 늘립니다. 대부분의 경우 비활성화된 상태로 유지됩니다. 런타임에 텍스처를 생성하는 경우 Texture2D.Apply를 통해 이름을 적용하고 makeNoLongerReadable을 true로 설정하여 전달 합니다. - 불필요한 Mipmap 비활성화
일관된 크기로 유지되는 텍스처에는 Mipmap이 필요하지 않습니다.
2D 스프라이트 및 UI 그래픽과 같은 화면에 표시됩니다.(카메라에서 거리가 달라지는 3D 모델에 대해 Mip Maps를 활성화한 상태로 둡니다). - 텍스처 압축
동일한 모델과 텍스처를 사용하는 두가지 예시를 확인하십시오. 왼쪽의 설정은 시각적 품질의 이점 없이 오른쪽의 설정보다 거의 8배의 메모리를 소모합니다.
ios 및 android 모두에 ATSC(Adaptive Scalable Texture Compression)을 사용합니다.
개발 중인 게임의 대다수는 ATSC 압축을 지원하는 최소 사양 장치를 대상으로 합니다
유일한 예외는 다음과 같습니다.
- A7이하 기기를 대상으로 하는 ios 게임(예:iphon5,5S 등) - PVRTC 사용
- 2016년 이전 기기를 대상으로 하는 Android 게임 - ETC2(Ericsson 텍스처 압축)
PVRTC 및 ETC와 같은 압축 형식의 품질이 충분히 높지 않고 대상 플랫폼에서 ASTC가 완전히 지원되지 않는 경우 32비트 텍스처 대신 16비트 텍스처를 사용해 보십시오.
플랫폼별 권장 텍스처 압축 형식에 대한 자세한 내용입니다.