gv005_1 ver0.1
TRANSCRIPT
1
VFX 텍스쳐압축 Ⅰ
그래픽디자인실 VFX Team : 채문배
유니티 텍스쳐
• 유니티로 텍스쳐를 가져오면 ( 제작된 텍스쳐크기 * RGBA 16 bit ) 로 자동 압축이되어 생성된다 .
• 낮은 단계의 TrueColor 를 사용하는 방식이라 계단현상이 발생하며 압축효율도 좋지 못하다 .
Image Quality Down
어떤 텍스쳐포맷을 사용하여야 하는가 ?
유니티 기본 압축포맷
• Compressed 는 RGBA 16 bit 로 설정됨 따라서 16bits 와 구분의미는 없음 ( 알파가 있는 경우 계단현상이 생기는 문제 발생 )
• Truecolor 는 RGBA 32 bit 이며 압축을 하지 않겠다는 이야기…( 텍스쳐 용량이 엄청… . 거대함 )
기본 압축포맷 사용
간단 정리표
ETC2 4bit 와 8bit 를 사용합시다 .
??? ETC2 가 뭔가요 ???
ETC2?
• ETC1 was standardized in OpenGL ES
• ETC1 is supported in Android with v2.2 (Froyo) and above, which means over 370 million devices.
• ETC2 is backward compatible with ETC1: If you have an old ETC1 texture, you can load it as an ETC2 texture and the hardware will decode it correctly.
• ETC1 and ETC2 textures share a lot of blocks
• It is possible to store an ETC1 textures (for legacy devices) and ETC2 textures (for OpenGL ES 3.0 devices) in a single file.
https://www.khronos.org/assets/uploads/developers/library/2012-siggraph-opengl-es-bof/Ericsson-ETC2-SIGGRAPH_Aug12.pdf
ETC2?
• 안드로이드 표준 압축포맷이고• ETC1 의 정보를 포함하고 있어서• 하급 디바이스와 호환이 된다 ~ 뭐 이런 내용입니다 .
ETC2 압축성능
‘jpeg 보다 높은 퀄리티에 효율적인 압축을 보여준다 !!’ 라고 하는데 ~
그럼 확인을…… .
이펙트 텍스쳐 압축테스트
이펙트에 많이 사용되는 텍스쳐를 모아서 테스트합니다 .RGBA 32bit
이펙트 텍스쳐 압축테스트
RGBA 32bit RGB 16bit DXT1 ETC 4bit ETC2 4bit
RGBA 32bit RGB 16bit ETC2 4bit
작게 보니 비슷하죠 ~~
용량은 차이가 큽니다 .
1.3 MB 0.7 MB 128KB
결론• 유니티 기본압축은 사용하지 않습니다 .
• 알파가 없는 텍스쳐는 RGB Compressed ETC2 4bits 사용 ( 원본 대비 1/10 용량 )
• 알파를 사용한다면 RGB Compressed ETC2 8bits 사용( 원본 대비 1/5 용량 )
• 밉맵 체크는 꼭 꺼줍니다 .
• Compression Quality 는 Best 로 설정합니다 . ( 용량에 큰 차이가 없습니다 .)
• 갤럭시 S3 이하에서는 Open GL ES 2.0 으로 작동하여 ETC2 는 사용불가
// 추가 2016.03 – 유니티 5.2.0 부터 안드로이드 compressed 는 ETC2 로 자동변환됨
Mask Map
• 그럼 Mask Map 도 같은 방식으로 설정하면 될까요 ??
• 정밀도가 필요하지 않은데 용량을 크게 쓸 이유는 없습니다 .
Mask Map
• RGB Compressed ETC2 4bits 256*256 ( 폭포 , 마법진등 )
• 그 외에는 128*128 을 사용합니다 . (64*64 도 괜찮지 않을까요 ?? 128*128 를 백 장이나 사용해도 0.8MB 입니다 . ( 정확히는 0.78MB))
• 원본대비 용량차이는 표에 기입한 것과 같이 차이가 큽니다 .
• 추가로 GrayScale 로 저장된 이미지는 원본보다 어둡습니다 . RGB 로 저장하세요 .
압축 VS 압축
• 이펙트를 제작하면서 다음과 같은 의문이 생깁니다 .
• 적절한 텍스쳐 크기는 포토샵에서 결정하나 유니티에서 하나 ?!!
VS
압축 VS 압축RGB Color
512 to 256 256 to 256테스트 결과 큰 차이는 없었지만 유니티에서 크기를 줄이는게 원본과 느낌이 비슷합니다 .
그러나 크기가 작아지면서 선명한 느낌은 포토샵으로 줄인 이미지가 더 좋았습니다 .
압축 VS 압축Mask map
512 to 256 256 to 256
거의 차이는 없습니다 . 가는 라인이 많은 Mask Texture 는 포토샵에서 크기를 줄여 사용하는 것이 더 좋을 것 같습니다 .
다시 결론Mask map
압축설정