SlideShare a Scribd company logo
1 of 20
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
압축설정
20
감사합니다.
내용에 오류가 있으면 maya4d@gamevil.com으로 연락 부탁드립니다.

More Related Content

More from Glenn Chae

More from Glenn Chae (7)

gv008 ver0.1
gv008 ver0.1gv008 ver0.1
gv008 ver0.1
 
gv007 ver0.1
gv007 ver0.1gv007 ver0.1
gv007 ver0.1
 
gv006 ver0.1
gv006 ver0.1gv006 ver0.1
gv006 ver0.1
 
gv004 ver0.1
gv004 ver0.1gv004 ver0.1
gv004 ver0.1
 
gv003 ver0.1
gv003 ver0.1gv003 ver0.1
gv003 ver0.1
 
gv002 ver0.1
gv002 ver0.1gv002 ver0.1
gv002 ver0.1
 
gv001ver01
gv001ver01gv001ver01
gv001ver01
 

gv005_1 ver0.1

  • 2. 유니티 텍스쳐 • 유니티로 텍스쳐를 가져오면 ( 제작된 텍스쳐크기 * RGBA 16 bit ) 로 자동 압축이되어 생성된다. • 낮은 단계의 TrueColor를 사용하는 방식이라 계단현상이 발생하며 압축효율도 좋지 못하다. Image Quality Down
  • 4. 유니티 기본 압축포맷 • Compressed는 RGBA 16 bit로 설정됨 따라서 16bits와 구분의미는 없음 ( 알파가 있는 경우 계단현상이 생기는 문제 발생 ) • Truecolor는 RGBA 32 bit이며 압축을 하지 않겠다는 이야기… ( 텍스쳐 용량이 엄청…. 거대함 )
  • 6. 간단 정리표 ETC2 4bit와 8bit를 사용합시다. ??? ETC2 가 뭔가요???
  • 7. 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
  • 8. ETC2? • 안드로이드 표준 압축포맷이고 • ETC1의 정보를 포함하고 있어서 • 하급 디바이스와 호환이 된다~ 뭐 이런 내용입니다.
  • 9. ETC2 압축성능 ‘jpeg보다 높은 퀄리티에 효율적인 압축을 보여준다!!’ 라고 하는데~ 그럼 확인을…….
  • 10. 이펙트 텍스쳐 압축테스트 이펙트에 많이 사용되는 텍스쳐를 모아서 테스트합니다. RGBA 32bit
  • 11. 이펙트 텍스쳐 압축테스트 RGBA 32bit RGB 16bit DXT1 ETC 4bit ETC2 4bit
  • 12. RGBA 32bit RGB 16bit ETC2 4bit 작게 보니 비슷하죠~~ 용량은 차이가 큽니다. 1.3 MB 0.7 MB 128KB
  • 13. 결론 • 유니티 기본압축은 사용하지 않습니다. • 알파가 없는 텍스쳐는 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로 자동변환됨
  • 14. Mask Map • 그럼 Mask Map도 같은 방식으로 설정하면 될까요?? • 정밀도가 필요하지 않은데 용량을 크게 쓸 이유는 없습니다.
  • 15. Mask Map • RGB Compressed ETC2 4bits 256*256 ( 폭포, 마법진등 ) • 그 외에는 128*128을 사용합니다. (64*64도 괜찮지 않을까요?? 128*128를 백 장이나 사용해도 0.8MB입니다. (정확히는 0.78MB)) • 원본대비 용량차이는 표에 기입한 것과 같이 차이가 큽니다. • 추가로 GrayScale로 저장된 이미지는 원본보다 어둡습니다. RGB로 저장하세요.
  • 16. 압축 VS 압축 • 이펙트를 제작하면서 다음과 같은 의문이 생깁니다. • 적절한 텍스쳐 크기는 포토샵에서 결정하나 유니티에서 하나?!! VS
  • 17. 압축 VS 압축 RGB Color 512 to 256 256 to 256 테스트 결과 큰 차이는 없었지만 유니티에서 크기를 줄이는게 원본과 느낌이 비슷합니다. 그러나 크기가 작아지면서 선명한 느낌은 포토샵으로 줄인 이미지가 더 좋았습니다.
  • 18. 압축 VS 압축 Mask map 512 to 256 256 to 256 거의 차이는 없습니다. 가는 라인이 많은 Mask Texture는 포토샵에서 크기를 줄여 사용하는 것이 더 좋을 것 같습니다.
  • 20. 20 감사합니다. 내용에 오류가 있으면 maya4d@gamevil.com으로 연락 부탁드립니다.