Unity 내장 라이팅 구조
지금까지 학습하였던 Standard Shader는 PBS(Physically Based Shader)인 물리 기반 쉐이더 라이트이기 때문에 모바일과 같은 저 사양 기기에서 구동하기에는 다소 무겁다.
따라서 PBS보다 상대적으로 품질은 떨어질 수 있지만 가벼운 다른 라이팅 구조들을 함께 살펴보겠다.
Standard ( 스탠다드 )
- PBS
- diffuse와 specular가 에너지 보존 법칙에 의해 보완관계를 지님
- SurfaceOuputStandard / SurfaceOutputStandardSpecular 구조체
- Specular의 칼라가 메탈릭 속성에 따라 자동적으로 결정됨
Lambert ( 램버트 )
- Specular 공식 X
- 빛에 의한 밝고 어두움만이 구현된 가벼운 라이트 구조
- StandardOutput 구조체
Blinn Phong ( 블린 퐁 )
- Lambert 공식에 가벼운 Specular 공식인 Blinn Phong 공식이 더해진 라이트 구조
- SurfaceOutput 구조체 사용
- SurfaceOutput 구조체
- Specular : Specular의 넓이. 얼마나 많은 하이라이트가 나오는가. 수치가 높을수록 하이라이트가 작아짐.
- Gloss : Specular의 강도
- SurfaceOutputStandard / SurfaceOutputStandard
Lambert 라이팅
라이팅 함수 이름 / 구조체 변경
Specular는 구현할 수 없기 때문에 Specular와 Gloss는 사용할 수 없음.
Blinn Phong 라이팅
라이팅 함수 이름 / 구조체 변경
주의할 점은, _SpecColor는 코드 내에서 받으면 안되는 예약어라는 것이다.
Gloss는 0~1 사이의 값을 넣어야 하며 0에 가까울 수록 둔탁하고 1에 가까울 수록 매끄러운 재질을 나타낸다.
'Unity > Shader' 카테고리의 다른 글
[유니티 쉐이더 스타트업] Part10 | 디지털 라이트 이론 (1) | 2024.02.09 |
---|---|
[유니티 쉐이더 스타트업] Part8 | SurfaceOutputStandard 사용하기 (1) | 2024.02.07 |
[유니티 쉐이더 스타트업] Part7 | Vertex Color 버텍스 컬러 (1) | 2024.02.07 |
[유니티 쉐이더 스타트업] Part6 | UV 개념/응용 (1) | 2024.01.24 |
[유니티 쉐이더 스타트업] Part5 | Surface Shader를 이용한 Texture 제어 (0) | 2024.01.22 |