Unity 스탠다드 셰이더는 포괄적인 기능을 가진 빌트인 셰이더입니다. 암석, 나무, 유리, 플라스틱, 금속과 같은 “현실” 오브젝트를 렌더링하는 데 사용할 수 있으며, 다양한 셰이더 타입과 조합을 지원합니다. 머티리얼 에디터에서 다양한 텍스처 슬롯과 파라미터를 사용하거나 사용하지 않는 방법으로 기능을 활성화하거나 비활성화할 수 있습니다.
스탠다드 셰이더는 물리 기반 셰이딩(Physically Based Shading, PBS) 이라는 고급 광원 모델을 포함합니다. 물리 기반 셰이딩은 현실과 유사하게 머티리얼과 광원 간의 상호작용을 시뮬레이션합니다. PBS는 최근에서야 실시간 그래픽스에 사용할 수 있게 되었습니다. 머티리얼과 광원이 직관적으로 또 현실적으로 같이 존재해야 하는 상황에서 가장 적합합니다.
물리 기반 셰이더의 목적은 광원 조건이 달라지더라도 지속적으로 현실적인 그래픽을 만들 수 있는 사용자 친화적 방법을 제공하는 것입니다. 작동하지 않을 수 있는 다수의 즉석 모델(ad-hoc model) 을 사용하지 않고도 광원이 현실에서 어떻게 행동하는지를 모델링합니다. 따라서 이 셰이더는 오브젝트가 받는 광원보다 더 많은 광원을 반사할 수 없다는 에너지 보존 법칙, 모든 표면은 지표각에서 반사율이 높아진다는 프레넬(Fresnel) 반사 법칙, 표면이 자신을 가린다는 지오메트리 텀 등을 포함한 물리 법칙을 따릅니다.
스탠다드 셰이더는 “건축 머티리얼”로 불리는 단단한 표면을 염두에 두고 제작되었으며 암석, 유리, 세라믹, 놋쇠, 은, 고무와 같은 대부분의 현실 머티리얼을 구현할 수 있습니다. 피부, 머리카락, 천과 같이 부드러운 표면 역시 준수하게 구현할 수 있습니다.
스탠다드 셰이더의 도입에 따라 디퓨즈, 스페큘러, 범프 스페큘러, 반사 등과 같은 다양한 셰이더 타입이 모든 머티리얼 타입에 대해 사용할 수 있는 단일 셰이더로 통합되었습니다. 이로 인해 동일한 광원 연산 결과를 씬 전체 영역에 적용하여 셰이더를 사용하는 모든 모델에 현실적이고 일관적이며 그럴듯한 광원 및 셰이더 분포를 구현할 수 있게 되었습니다.
Unity 물리 기반 셰이더와 관련하여 알아두면 유용한 개념이 많습니다. 아래는 그 일부입니다.