미리보기 : Material Variant,Texture 용량 줄이기, Texture Preset Editor Only Tag, 카메라 꿀팁
Material Variant
메테리얼에도 Variant를 만들 수 있다는 사실 알고 계셨나요...?
동일한 Texture를 그대로 사용하지만 Color라든지, Emission이라든지 변경하고 싶을 때 Variant를 이용하시면 됩니다!
Texture 용량 줄이기
Texture용량 줄이는 방법은 저번에도 한 번 소개해드렸던 적이 있습니다.
Unity Texture Compresion Format이란?
Player Setting을 보다보면 Texture Compresion Format을 본적이 있을 것이다 ETC, ETC2, ASTC 3개의 종류가 존재한다 Texture Compresion 즉, 텍스처를 압축하는 것인데 왜 압축을 해야만 하는걸까? 그 이유는, 게임에
wlsdn629.tistory.com
이때는 ASTC기법에 대해서 설명을 드렸는데, 이번에는 Crunch Compression에 대해서 설명드리고자 합니다.
Unity의 Crunch Compression과 ASTC는 둘 다 텍스처 압축 포맷입니다. 이 두 가지 압축 방식의 주요 차이점은 다음과 같습니다.
Crunch Compression
- Crunch는 DXT 또는 ETC 텍스처 압축에 기반을 둔 손실 압축 포맷입니다.
- Unity는 텍스처를 CPU에서 DXT 또는 ETC로 압축 해제한 후 런타임 시점에 GPU로 업로드합니다.
- Crunch 압축은 텍스처의 디스크 크기를 줄이는 데 효과적이지만, 메모리 크기는 기본 텍스처 포맷을 사용할 때와 동일합니다.
ASTC (Adaptive Scalable Texture Compression)
- ASTC는 ARM에서 개발한 텍스처 압축 포맷입니다.
- ASTC는 8비트/픽셀 (4x4 블록 크기)부터 0.89 비트/픽셀 (12x12 블록 크기)까지 세분화된 텍스처 품질과 크기를 선택할 수 있습니다.
- ASTC HDR은 Vulkan 또는 GL_KHR_texture_compression_astc_hdr 지원이 필요하며, 가장 유연한 포맷입니다.
User Player Settings을 하게 되면 각 텍스처마다 오버라이딩해서 ASTC를 사용할 지 ETC를 사용할 지 정해줘야 합니다. 또 어떤 블록 크기를 선택할지도 정해줘야 합니다. 블록의 크기가 클 수록 많이 뭉개지게 됩니다. 작을 수록 디테일이 좀 더 살아남게 되고요. (일일이 지정하기 귀찮으면 ASTC를 선택하세요!)
요약하면, ASTC를 선택하면 디스크 용량은 변화하지 않지만 빌드할 때 텍스처 크기가 줄어들고,
Crunch를 사용하면 디스크 용량의 크기는 줄어들지만 빌드 된 시점의 메모리 크기는 변화하지 않습니다.
함께 사용해도 되는지는 검색해도 정보가 없어서... 모르겠네요..!
주의할 점은!!! 두 방식 모두다 2^ 규칙을 지켜야합니다! 텍스처의 크기가 64x64, 128x128, 256x256 이렇게 되어야지 가능하지 , 64x62 , 128x127 이런 텍스처는 절!대! 안됩니다!
Texture Preset
Texture를 만지다 보면 동일한 Texture Setting값을 자주 사용하는 경우가 있죠?
이때, Setting 탭에 맨 위에 보면 Preset을 만드는 버튼이 있습니다.
해당 버튼을 눌러서 Preset을 만들어준 다음 우측 사진처럼 Texture Setting값을 설정해주시면 됩니다!
이 이후부터는 Texture을 만들 때 해당 Preset을 사용하시면 됩니다.
Texture을 만들고 매번 해당 Preset설정하는 방식도 귀찮으시면 Preset Manager를 통해 아까 만든 Preset을 미리 할당하면, 앞으로 만들어지는 Texture는 해당 Preset Setting을 가지게 됩니다.
이 방법은 Texture뿐 만 아니라, Font 등에도 적용이 가능하니 응용해서 사용하세요!
카메라 꿀팁
씬에 카메라가 없으면 뜨는 저 문구가 거슬리시죠?!
바로 우측 상단의 Warn if no Camera Rendering을 꺼버리세요!!!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/005.gif)
이제 우측 사진처럼 더이상 해당 문구가 뜨지 않게 된답니다!!
Editor Only Tag
Tag에는 Editor Only라는 Tag가 존재합니다!
해당 Tag를 가진 게임 오브젝트는 Editor 환경에서만 존재하고, 빌드한 환경에서는 보이지 않게 됩니다!
디버깅할 때 사용하시면 됩니다!
이로써 유니티 꿀팁!!!!!!!!끝!