Version: 5.3
ShaderLab: 블렌딩
ShaderLab: 스텐실

ShaderLab: 패스 태그

패스는 태그를 사용해 예상되는 렌더 방법 및 시기를 렌더링 엔진에 알립니다.

구문

    Tags { "TagName1" = "Value1" "TagName2" = "Value2" }

TagName1Value1을, TagName2Value2를 지정합니다. 태그를 원하는 수만큼 지정할 수 있습니다.

세부 정보

태그는 기본적으로 키-값 페어입니다. 패스 안에서 태그는 조명 파이프라인(앰비언트, 버텍스 리트, 픽셀 릿 등)에서 패스가 수행하는 역할과 기타 몇 가지 옵션을 제어하는 데 사용됩니다. Unity에서 인식하는 다음 태그는 서브셰이더가 아닌 패스 섹션 안에 있어야 합니다.

LightMode 태그

LightMode 태그는 조명 파이프라인에서 패스가 담당하는 역할을 정의합니다. 자세한 내용은 렌더링 파이프라인을 참조하십시오. 이 태그는 수동으로 사용되는 경우가 드물고, 조명과 상호작용해야 하는 셰이더는 표면 셰이더로 작성됩니다. 그러면 관련 세부사항이 모두 처리됩니다.

LightMode 태그의 가능한 값은 다음과 같습니다.

  • Always: 항상 렌더링되고, 조명이 적용되지 않습니다.
  • ForwardBase: 포워드 렌더링에 사용되고 앰비언트 라이트, 주 방향 광원, 버텍스/SH 라이트 및 라이트맵이 적용됩니다.
  • ForwardAdd: 포워드 렌더링에 사용되고 추가 픽셀당 광원이 광원당 한 패스씩 적용됩니다.
  • Deferred: 디퍼드 셰이딩에 사용되고 g- 버퍼를 렌더링합니다.
  • ShadowCaster: 오브젝트 뎁스를 섀도우맵 또는 뎁스 텍스처에 렌더링합니다.
  • PrepassBase: 레거시 디퍼드 라이팅에 사용되고, 노멀 및 스페큘러 지수를 렌더링합니다.
  • PrepassFinal: 레거시 디퍼드 라이팅에 사용되고 텍스처, 조명 및 이미션을 결합하여 최종 컬러를 렌더링합니다.
  • Vertex: 오브젝트가 라이트매핑되지 않는 경우 레거시 버텍스 리트 렌더링에 사용됩니다. 모든 버텍스 광원이 적용됩니다.
  • VertexLMRGBM: 라이트맵이 RGBM으로 인코딩된 플랫폼(PC 및 콘솔)에서 오브젝트가 라이트매핑되는 경우 레거시 버텍스 리트 렌더링에 사용됩니다.
  • VertexLM: 라이트맵이 double-LDR로 인코딩된 플랫폼 (모바일 플랫폼)에서 오브젝트가 라이트매핑되는 경우 레거시 버텍스 리트 렌더링에 사용됩니다.

RequireOptions 태그

패스는 특정 외부 조건이 충족되는 경우에만 렌더링되어야 함을 나타낼 수 있습니다. 이렇게 하려면 값이 공백으로 구분된 옵션의 문자열인 RequireOptions 태그를 사용합니다. 현재 Unity에서 지원하는 옵션은 다음과 같습니다.

  • SoftVegetation: Quality Settings에서 소프트 베지테이션이 활성화된 경우에만 이 패스를 렌더링합니다.

참고 항목

서브셰이더에도 태그를 지정할 수 있습니다. 서브셰이더 태그를 참조하십시오.

ShaderLab: 블렌딩
ShaderLab: 스텐실