라이트맵 텍스쳐를 셰이더에서 연산할 때 아래 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
빌트인 셰이더 헬퍼 함수
https://docs.unity3d.com/kr/2022.3/Manual/SL-BuiltinFunctions.html
빌트인 셰이더 Mobile-Lightmap-Unlit.shader
게임 개발에 필수적인 내용을 담는 명서들을 소개합니다.
<유니티 교과서 개정6판>(유니티 최신 버전)
https://link.coupang.com/a/bz23dY
<대마왕의 유니티 URP 셰이더 그래프 스타트업>
https://link.coupang.com/a/bs8qyC
유니티 에셋 스토어 링크
https://assetstore.unity.com?aid=1011lvz7h
(링크를 통해 도서/에셋 구입시 일정액의 수수료를 지급받습니다.)
'유니티 엔진 (Unity Engine)' 카테고리의 다른 글
[Unity] 라이트맵 베이킹을 위한 간단 가이드 + 요약 (0) | 2024.05.07 |
---|---|
[Unity] Renderer.staticShadowCaster 의 의미. LightMap 굽는데 영향이 있나? Static 플래그와는 무슨 관계일까? 에 대한 짧은 결론. (0) | 2024.05.03 |
[Unity] "라이트매핑에 자주 발생하는 다섯 가지 문제와 솔루션" 요약 정리 (0) | 2024.05.02 |
[Unity][Error] 프로젝트 열 때 "No valid user created or default window layout found." 에러 간단 해결 방법 (0) | 2024.05.02 |
[Unity] 프리팹과 프리팹의 변형, 프리팹 배리언트 (Prefab Variant) (0) | 2024.04.30 |
[Unity] 메시 폴리곤 줄이기/단순화 Mesh Decimator/Simplifier (0) | 2024.04.03 |
[Unity] Sprite Sorting 문제를 해결하기 위한 Sorting Group 설정 (0) | 2024.04.03 |