유니티 알아두면 쓰려나? 쓸데없어 보이지만 언젠간 쓰겠지 싶은 꿀팁!

미리보기 : Material Variant,Texture 용량 줄이기, Texture Preset Editor Only Tag, 카메라 꿀팁


Material Variant

동일한 재질(Texture)을 사용하지만 색만 다르게 하고 싶을 때 

 

메테리얼에도 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

  1. Crunch는 DXT 또는 ETC 텍스처 압축에 기반을 둔 손실 압축 포맷입니다.
  2. Unity는 텍스처를 CPU에서 DXT 또는 ETC로 압축 해제한 후 런타임 시점에 GPU로 업로드합니다.
  3. Crunch 압축은 텍스처의 디스크 크기를 줄이는 데 효과적이지만, 메모리 크기는 기본 텍스처 포맷을 사용할 때와 동일합니다.

ASTC (Adaptive Scalable Texture Compression)

  1. ASTC는 ARM에서 개발한 텍스처 압축 포맷입니다.
  2. ASTC는 8비트/픽셀 (4x4 블록 크기)부터 0.89 비트/픽셀 (12x12 블록 크기)까지 세분화된 텍스처 품질과 크기를 선택할 수 있습니다.
  3. 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

Preset

 

Texture를 만지다 보면 동일한 Texture Setting값을 자주 사용하는 경우가 있죠?

이때, Setting 탭에 맨 위에 보면 Preset을 만드는 버튼이 있습니다.

해당 버튼을 눌러서 Preset을 만들어준 다음 우측 사진처럼 Texture Setting값을 설정해주시면 됩니다!

 

이 이후부터는 Texture을 만들 때 해당 Preset을 사용하시면 됩니다.

 

Texture Preset Manager

 

Texture을 만들고 매번 해당 Preset설정하는 방식도 귀찮으시면 Preset Manager를 통해 아까 만든 Preset을 미리 할당하면, 앞으로 만들어지는 Texture는 해당 Preset Setting을 가지게 됩니다.

 

이 방법은 Texture뿐 만 아니라, Font 등에도 적용이 가능하니 응용해서 사용하세요! 


카메라 꿀팁

No!!!

 

씬에 카메라가 없으면 뜨는 저 문구가 거슬리시죠?!

바로 우측 상단의 Warn if no Camera Rendering을 꺼버리세요!!!

 

이제 우측 사진처럼 더이상 해당 문구가 뜨지 않게 된답니다!!

 


Editor Only Tag

Editor Only Tag

 

Tag에는 Editor Only라는 Tag가 존재합니다!

해당 Tag를 가진 게임 오브젝트는 Editor 환경에서만 존재하고, 빌드한 환경에서는 보이지 않게 됩니다!

 

디버깅할 때 사용하시면 됩니다!

 

 

이로써 유니티 꿀팁!!!!!!!!끝!