gv005_1 ver0.1

20
1 VFX 텍텍텍텍텍 텍텍텍텍텍텍텍 VFX Team : 텍텍텍

Upload: glenn-chae

Post on 21-Jan-2017

164 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: gv005_1 ver0.1

1

VFX 텍스쳐압축 Ⅰ

그래픽디자인실 VFX Team : 채문배

Page 2: gv005_1 ver0.1

유니티 텍스쳐

• 유니티로 텍스쳐를 가져오면 ( 제작된 텍스쳐크기 * RGBA 16 bit ) 로 자동 압축이되어 생성된다 .

• 낮은 단계의 TrueColor 를 사용하는 방식이라 계단현상이 발생하며 압축효율도 좋지 못하다 .

Image Quality Down

Page 3: gv005_1 ver0.1

어떤 텍스쳐포맷을 사용하여야 하는가 ?

Page 4: gv005_1 ver0.1

유니티 기본 압축포맷

• Compressed 는 RGBA 16 bit 로 설정됨 따라서 16bits 와 구분의미는 없음 ( 알파가 있는 경우 계단현상이 생기는 문제 발생 )

• Truecolor 는 RGBA 32 bit 이며 압축을 하지 않겠다는 이야기…( 텍스쳐 용량이 엄청… . 거대함 )

Page 5: gv005_1 ver0.1

기본 압축포맷 사용

Page 6: gv005_1 ver0.1

간단 정리표

ETC2 4bit 와 8bit 를 사용합시다 .

??? ETC2 가 뭔가요 ???

Page 7: gv005_1 ver0.1

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

Page 8: gv005_1 ver0.1

ETC2?

• 안드로이드 표준 압축포맷이고• ETC1 의 정보를 포함하고 있어서• 하급 디바이스와 호환이 된다 ~ 뭐 이런 내용입니다 .

Page 9: gv005_1 ver0.1

ETC2 압축성능

‘jpeg 보다 높은 퀄리티에 효율적인 압축을 보여준다 !!’ 라고 하는데 ~

그럼 확인을…… .

Page 10: gv005_1 ver0.1

이펙트 텍스쳐 압축테스트

이펙트에 많이 사용되는 텍스쳐를 모아서 테스트합니다 .RGBA 32bit

Page 11: gv005_1 ver0.1

이펙트 텍스쳐 압축테스트

RGBA 32bit RGB 16bit DXT1 ETC 4bit ETC2 4bit

Page 12: gv005_1 ver0.1

RGBA 32bit RGB 16bit ETC2 4bit

작게 보니 비슷하죠 ~~

용량은 차이가 큽니다 .

1.3 MB 0.7 MB 128KB

Page 13: gv005_1 ver0.1

결론• 유니티 기본압축은 사용하지 않습니다 .

• 알파가 없는 텍스쳐는 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 로 자동변환됨

Page 14: gv005_1 ver0.1

Mask Map

• 그럼 Mask Map 도 같은 방식으로 설정하면 될까요 ??

• 정밀도가 필요하지 않은데 용량을 크게 쓸 이유는 없습니다 .

Page 15: gv005_1 ver0.1

Mask Map

• RGB Compressed ETC2 4bits 256*256 ( 폭포 , 마법진등 )

• 그 외에는 128*128 을 사용합니다 . (64*64 도 괜찮지 않을까요 ?? 128*128 를 백 장이나 사용해도 0.8MB 입니다 . ( 정확히는 0.78MB))

• 원본대비 용량차이는 표에 기입한 것과 같이 차이가 큽니다 .

• 추가로 GrayScale 로 저장된 이미지는 원본보다 어둡습니다 . RGB 로 저장하세요 .

Page 16: gv005_1 ver0.1

압축 VS 압축

• 이펙트를 제작하면서 다음과 같은 의문이 생깁니다 .

• 적절한 텍스쳐 크기는 포토샵에서 결정하나 유니티에서 하나 ?!!

VS

Page 17: gv005_1 ver0.1

압축 VS 압축RGB Color

512 to 256 256 to 256테스트 결과 큰 차이는 없었지만 유니티에서 크기를 줄이는게 원본과 느낌이 비슷합니다 .

그러나 크기가 작아지면서 선명한 느낌은 포토샵으로 줄인 이미지가 더 좋았습니다 .

Page 18: gv005_1 ver0.1

압축 VS 압축Mask map

512 to 256 256 to 256

거의 차이는 없습니다 . 가는 라인이 많은 Mask Texture 는 포토샵에서 크기를 줄여 사용하는 것이 더 좋을 것 같습니다 .

Page 19: gv005_1 ver0.1

다시 결론Mask map

압축설정

Page 20: gv005_1 ver0.1

20

감사합니다 .

내용에 오류가 있으면 [email protected]으로 연락 부탁드립니다 .