[Unity] 라이트맵 디코딩 DecodeLightmap 함수와 인코딩 방식 RGBM, dLDR
라이트맵 텍스쳐를 셰이더에서 연산할 때 아래 DecodeLightmap() 함수를 활용.
인코딩된 라이트맵을 디코딩하는 함수. 플랫폼에 따라 인코딩 방식이(RGBM, dLDR) 다를 수 있음.
"UnityCG.cginc"
fixed3 DecodeLightmap (fixed4 color)
Unity 라이트맵에서 컬러를 디코딩합니다(플랫폼에 따라 RGBM 또는 dLDR).
RGBM (RGB Multiplier) 인코딩
알파 채널에 Multiplier 저장.
RGBM 범위
Linear : 0 ~ 34.49(5^2.2)
GAmma : 0 ~5
dLDR (Double Low Dynamic Range) 인코딩
모바일 플랫폼에서 사용.
범위 [0.2] 를 [0,1]에 매핑. 2보다 큰 Baked 광원 강도는 고정됨.
디코딩값
Gamma Space : *2
Linear Space : * 4.59482(2^2.2)
참고 문서
라이트맵: 기술 정보
https://docs.unity3d.com/kr/2022.3/Manual/Lightmaps-TechnicalInformation.html
라이트맵: 기술 정보 - Unity 매뉴얼
Unity 에디터는 타겟 플랫폼과 라이팅 창의 압축 설정에 따라 압축과 인코딩 방식이 다른 라이트맵을 저장합니다.
docs.unity3d.com
빌트인 셰이더 헬퍼 함수
https://docs.unity3d.com/kr/2022.3/Manual/SL-BuiltinFunctions.html
빌트인 셰이더 헬퍼 함수 - Unity 매뉴얼
Unity에는 셰이더를 더 간편하고 쉽게 작성하는 데 유용한 빌트인 유틸리티 기능이 있습니다.
docs.unity3d.com
빌트인 셰이더 Mobile-Lightmap-Unlit.shader
Unity-Built-in-Shaders/DefaultResourcesExtra/Mobile/Mobile-Lightmap-Unlit.shader at master · TwoTailsGames/Unity-Built-in-Shade
Unity Built in Shaders. Contribute to TwoTailsGames/Unity-Built-in-Shaders development by creating an account on GitHub.
github.com
게임 개발에 필수적인 내용을 담는 명서들을 소개합니다.
<유니티 교과서 개정6판>(유니티 최신 버전)
https://link.coupang.com/a/bz23dY
유니티 교과서 개정6판
COUPANG
www.coupang.com
<대마왕의 유니티 URP 셰이더 그래프 스타트업>
https://link.coupang.com/a/bs8qyC
대마왕의 유니티 URP 셰이더 그래프 스타트업
COUPANG
www.coupang.com
유니티 에셋 스토어 링크
https://assetstore.unity.com?aid=1011lvz7h
에셋스토어
여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.
assetstore.unity.com
(링크를 통해 도서/에셋 구입시 일정액의 수수료를 지급받습니다.)