9 – 01 유니티에 내장된 라이팅 구조 (Unity Shader)
쉐이더를 처음 만들면 자동으로 생성되는 Standard Shader 는 유니티 5부터 기본적으로 적용된 쉐이더 형태입니다.
Standard Shader의 라이팅은 좋은 라이팅이지만 물리기반의 쉐이더 라이트이기 때문에
모바일과 같은 저 사양 기기에서 구동하기에는 다소 무겁습니다.
그래서 유니티 내부적으로는 유니티4버전 이전부터 사용하던 라이트 구조도 그대로 구현되어 있습니다.
이 라이팅은 물리 기반의 쉐이더보다 품질을 떨어질 수 있지만 상대적으로 가볍기 때문에 물리 기반의 쉐이더를 사용할 필요 없이
가볍게 처리해야 하는 모바일 프로젝트에 적합한 쉐이더 구조라고 할 수 있습니다.
우리가 지금까지 사용한 물리기반 쉐이더의 구조체
또는
물리 기반 쉐이더 이전의 쉐이더 구조인 램버트 / 블린퐁 라이트에서 사용하는 구조체
즉 유니티에 내장되어 있는 라이팅은 총 3가지라고 할 수 있습니다.
1. Lambert 램버트
Specular 의 공식이 없고 단지 빛에 의한 밝고 어두움이 구현된 가벼운 라이트 구조 / SurfaceOutput 구조체 사용
2. Blinn Phong 블린퐁
램버트 공식에 가벼운 Specular 공식인 블린퐁 공식이 더해진 라이트 구조,
Specular 공식은 보는 각도와 조명 각도에 따라 계산된 특정 색의 하이라이트 동그라미로 표현된다. / SurfaceOutput 구조체 사용
3. Standard 스탠다드
일명 PBS ( 물리 기반 쉐이더 : Physically Based Shader)
주변 환경을 반사하서 Specular 를 구현하며, Diffuse 와 Specular 가 에너지 보존 법칙에 의해 서로 보완관계를 자동적으로 가지며
Specular dml 칼라가 메탈릭 속성에 따라 자동적으로 결정되는 라이트 구조
SurfaceOutputStandard 또는 SurfaceOutputStandardSpecular 구조체 사용