URP ShaderLab 패스 태그
이 섹션에는 URP 전용 ShaderLab 패스 태그에 대한 설명이 포함되어 있습니다.
참고: URP는 다음의 LightMode 태그를 지원하지 않습니다.
Always
,ForwardAdd
,PrepassBase
,PrepassFinal
,Vertex
,VertexLMRGBM
,VertexLM
LightMode
이 태그의 값을 통해 파이프라인은 렌더 파이프라인의 여러 부분을 실행할 때 사용할 패스를 결정할 수 있습니다.
패스에서 LightMode
태그를 설정하지 않으면 URP는 해당 패스에 대해 SRPDefaultUnlit
태그 값을 사용합니다.
LightMode
태그는 다음의 값을 가질 수 있습니다.
프로퍼티 | 설명 |
---|---|
UniversalForward | 패스가 오브젝트 지오메트리를 렌더링하고 모든 광원 기여도를 평가합니다. URP는 포워드 렌더링 경로에서 이 태그 값을 사용합니다. |
UniversalGBuffer | 패스가 오브젝트 지오메트리를 렌더링하고 광원 기여도는 평가하지 않습니다. Unity가 디퍼드 렌더링 경로에서 실행해야 하는 패스에 이 태그 값을 사용하십시오. |
UniversalForwardOnly | 패스가 오브젝트 지오메트리를 렌더링하고 모든 광원 기여도를 평가합니다. LightMode에 UniversalForward 값이 있을 때와 유사합니다. UniversalForward와의 차이점은 URP가 포워드 및 디퍼드 렌더링 경로 모두에 패스를 사용할 수 있다는 것입니다. URP가 디퍼드 렌더링 경로를 사용할 때 특정 패스가 포워드 렌더링 경로로 오브젝트를 렌더링해야 하는 경우 이 값을 사용하십시오. 예를 들어 URP가 디퍼드 렌더링 경로를 사용하여 씬을 렌더링하고 씬에 클리어 코트 노멀과 같이 GBuffer에 맞지 않는 셰이더 데이터가 있는 오브젝트가 포함된 경우 이 태그를 사용하십시오. 셰이더가 포워드 및 디퍼드 렌더링 경로 모두에서 렌더링해야 하는 경우 UniversalForward 및 UniversalGBuffer 태그 값으로 두 개의 패스를 선언합니다.셰이더가 URP 렌더러가 사용하는 렌더링 경로와 상관없이 포워드 렌더링 경로를 사용하여 렌더링해야 하는 경우 LightMode 태그가 UniversalForwardOnly 로 설정된 패스만 선언하십시오.SSAO 렌더러 기능을 사용하는 경우 LightMode 태그가 DepthNormalsOnly 로 설정된 패스를 추가하십시오. 자세한 내용은 DepthNormalsOnly 값을 참조하십시오. |
DepthNormalsOnly | 이 값은 디퍼드 렌더링 경로에서 UniversalForwardOnly 와 함께 사용하십시오. 이 값을 사용하면 Unity가 셰이더를 뎁스 및 노멀 프리패스로 렌더링할 수 있습니다. 디퍼드 렌더링 경로에서 DepthNormalsOnly 태그 값이 있는 패스가 누락된 경우 Unity는 메시 주변에 앰비언트 오클루전을 생성하지 않습니다. |
Universal2D | 패스가 오브젝트를 렌더링하고 2D 광원 기여도를 평가합니다. URP는 2D 렌더러에서 이 태그 값을 사용합니다. |
ShadowCaster | 패스가 오브젝트 뎁스를 광원 시점에서 섀도우 맵 또는 뎁스 텍스처로 렌더링합니다. |
DepthOnly | 패스가 뎁스 정보만 카메라 시점에서 뎁스 텍스처로 렌더링합니다. |
Meta | Unity 에디터에서 라이트맵을 베이크할 때만 이 패스를 실행합니다. Unity는 플레이어를 빌드할 때 셰이더에서 이 패스를 스트리핑합니다. |
SRPDefaultUnlit | 오브젝트를 렌더링할 때 추가 패스를 그리려면 이 LightMode 태그 값을 사용하십시오. 적용 사례 예시: 오브젝트 윤곽선 그리기. 이 태그 값은 포워드 및 디퍼드 렌더링 경로 모두에 대해 유효합니다.URP는 패스에 LightMode 태그가 없는 경우 이 태그 값을 기본값으로 사용합니다. |
UniversalMaterialType
Unity는 디퍼드 렌더링 경로에서 이 태그를 사용합니다.
UniversalMaterialType
태그는 다음의 값을 가질 수 있습니다.
이 태그가 패스에서 설정되지 않으면 Unity는 Lit
값을 사용합니다.
프로퍼티 | 설명 |
---|---|
Lit | 이 값은 셰이더 타입이 Lit임을 나타냅니다. GBuffer 패스 동안 Unity는 스텐실을 사용하여 Lit 셰이더 타입(스페큘러 모델은 PBR)을 사용하는 픽셀을 표시합니다. 이 태그가 패스에서 설정되지 않으면 Unity는 기본적으로 이 값을 사용합니다. |
SimpleLit | 이 값은 셰이더 타입이 SimpleLit임을 나타냅니다. GBuffer 패스 동안 Unity는 스텐실을 사용하여 SimpleLit 셰이더 타입(스페큘러 모델은 Blinn-Phong)을 사용하는 픽셀을 표시합니다. |