Version: Unity 6.0 (6000.0)
언어 : 한국어
ShaderLab: 레거시 텍스처 조합
HLSL semantics reference

ShaderLab: 레거시 버텍스 데이터 채널 매핑

참고: 이 페이지의__ ShaderLab__셰이더 오브젝트의 구조를 정의하기 위한 Unity 언어입니다. 자세한 정보
See in Glossary
기능은 레거시이며 이전 버전과의 호환성을 위해서만 문서화되었습니다. 셰이더 소스 파일에 HLSL 코드가 포함된 경우 Unity는 이러한 커맨드를 완전히 무시합니다. 셰이더 소스 파일에 HLSL 코드가 포함되어 있지 않으면 Unity는 임포트 시 이러한 커맨드를 일반 셰이더 프로그램에 컴파일합니다.

렌더 파이프라인 호환성

기능 이름 빌트인 렌더 파이프라인 URP(유니버설 렌더 파이프라인) HDRP(고해상도 렌더 파이프라인) 커스텀 SRP
레거시 버텍스 데이터 채널 매핑 지원 지원 안 함 지원 안 함 지원 안 함

개요

BindChannels 커맨드를 사용하면 버텍스 데이터 맵을 그래픽스 하드웨어에 매핑하는 방식을 지정할 수 있습니다. Unity는 기본적으로 바인딩을 자동으로 계산하지만, 경우에 따라 커스텀 바인딩을 사용하고 싶을 수 있습니다.

예를 들어, 1차 UV 세트가 첫 텍스처 스테이지에 사용되고 2차 UV 세트가 두 번째 텍스처 스테이지에 사용되도록 매핑하거나, 버텍스 컬러를 고려해야 한다고 하드웨어에 알릴 수 있습니다.

구문

BindChannels { Bind "source", target }

버텍스 데이터 소스_가 하드웨어 타겟_에 매핑되도록 지정합니다.

소스는 다음 중 하나일 수 있습니다.

  • Vertex: 버텍스 위치
  • Normal: 버텍스 노멀
  • Tangent: 버텍스 탄젠트
  • Texcoord: 1차 UV 좌표
  • Texcoord1: 2차 UV 좌표
  • Color: 버텍스당 컬러

타겟은 다음 중 하나일 수 있습니다.

  • Vertex: 버텍스 위치
  • Normal: 버텍스 노멀
  • Tangent: 버텍스 탄젠트
  • Texcoord0, Texcoord1, …: 해당 텍스처 스테이지의 텍스처 좌표
  • Texcoord: 모든 텍스처 스테이지의 텍스처 좌표
  • Color: 버텍스 컬러

세부 정보

Unity는 어떤 소스를 어떤 타겟에 매핑할 수 있는지에 대해 일부 제한을 적용합니다. 소스와 타겟은 Vertex, Normal, Tangent, Color 가 일치해야 합니다. 메시의 텍스처 좌표(TexcoordTexcoord1)를 텍스처 좌표 타겟(모든 텍스처 단계의 경우 Texcoord 또는 특정 단계의 경우 TexcoordN)에 매핑할 수 있습니다.

BindChannels는 일반적으로 다음 두 가지 셰이더에 사용됩니다.

  • 버텍스 컬러를 감안하는 셰이더
  • UV 세트 2개를 사용하는 셰이더

예제

// Maps the first UV set to the first texture stage
// and the second UV set to the second texture stage
BindChannels {
   Bind "Vertex", vertex
   Bind "texcoord", texcoord0
   Bind "texcoord1", texcoord1
}
// Maps the first UV set to all texture stages
// and uses vertex colors
BindChannels {
   Bind "Vertex", vertex
   Bind "texcoord", texcoord
   Bind "Color", color
}
ShaderLab: 레거시 텍스처 조합
HLSL semantics reference