키워드
설명
키워드를 사용하여 셰이더 그래프의 다양한 배리언트를 생성할 수 있습니다. 키워드 설정과 에디터 설정에 따라 빌드 파이프라인이 이러한 배리언트를 스트리핑할 수 있습니다.
키워드는 다음과 같은 여러 가지 이유로 유용합니다.
- 각 머티리얼 인스턴스에 대해 켜거나 끌 수 있는 기능이 있는 셰이더를 생성합니다.
- 특정 플랫폼에서 다르게 동작하는 기능이 있는 셰이더를 생성합니다.
- 다양한 조건에 따라 복잡도가 스케일링되는 셰이더를 생성합니다.
키워드에는 부울, 열거형, 빌트인의 세 가지 타입이 있습니다. 해당 타입에 따라 Unity는 그래프, 셰이더, 그리고 선택적으로 머티리얼 인스펙터에서 키워드를 정의합니다. 키워드 타입에 대한 자세한 내용은 부울 키워드, 열거형 키워드 및 빌트인 키워드를 참조하십시오. 이러한 키워드가 최종 셰이더에 미치는 영향에 대한 자세한 내용은 여러 셰이더 프로그램 배리언트 만들기 문서를 참조하십시오.
셰이더 그래프에서는 먼저 블랙보드에서 키워드를 정의한 후 Keyword 노드를 사용하여 그래프에 브랜치를 생성합니다.
일반 파라미터
일부 필드는 특정 타입의 키워드에만 해당되지만, 모든 키워드에는 다음의 파라미터가 있습니다.
이름 | 타입 | 설명 |
---|---|---|
Display Name | String | 키워드의 표시 이름입니다. Unity는 해당 키워드를 참조하는 노드의 제목 표시줄에 이 이름을 표시하고, 해당 키워드를 노출하는 경우 머티리얼 인스펙터에도 표시합니다. |
Exposed | 부울 | true로 설정하면 Unity가 머티리얼 인스펙터에 해당 키워드를 표시합니다. false로 설정하면 머티리얼 인스펙터에 키워드가 나타나지 않습니다. |
Reference Name | String | 셰이더에서 키워드의 내부 이름입니다. Reference Name 파라미터를 덮어쓰는 경우 다음 사항에 유의하십시오. • 키워드 레퍼런스 이름은 항상 전체 문자가 대문자이므로 Unity는 모든 소문자를 대문자로 전환합니다. • 레퍼런스 이름에 HLSL이 지원하지 않는 문자가 포함된 경우 Unity는 해당 문자를 밑줄로 바꿉니다. • 레퍼런스 이름을 마우스 오른쪽 버튼으로 클릭하고, Reset Reference를 선택하여 기본 레퍼런스 이름으로 되돌립니다. |
Definition | 열거형 | 키워드가 셰이더에서 정의되는 방식을 설정합니다. 다음의 세 가지 옵션이 있습니다. • Shader Feature: 빌드 시점에 Unity가 미사용 셰이더 배리언트를 제거합니다. • Multi Compile: Unity가 셰이더 배리언트를 제거하지 않습니다. • Predefined: 활성 렌더 파이프라인이 이미 이 키워드를 정의했기 때문에 셰이더 그래프가 생성하는 코드에서 정의하지 않았음을 나타냅니다. |
Scope | 열거형 | 키워드를 정의할 범위를 설정합니다. • Global Keywords: 전체 프로젝트에 대한 키워드를 정의하며, 전역 키워드 제한에 포함됩니다. • Local Keywords: 고유한 로컬 키워드 제한이 있는 하나의 셰이더에 대해서만 키워드를 정의합니다. 사전 정의된 키워드를 사용하는 경우 Unity는 이 필드를 비활성화합니다. |
부울 키워드
부울 키워드는 켜져 있거나 꺼져 있습니다. 따라서 두 개의 셰이더 배리언트가 생성됩니다. 셰이더 그래프는 켜짐 상태에 대해 Reference 이름 필드의 값을 사용하고, 꺼짐 상태는 자동으로 밑줄( _
)로 정의합니다.
머티리얼 인스펙터에서 부울 키워드를 노출하려면 Reference 이름에 _ON
접미사를 포함해야 합니다. 예: BOOLEAN_A506A032_ON
타입별 파라미터
위에 나열된 일반 파라미터 외에도 부울 키워드에는 다음과 같은 추가 파라미터가 있습니다.
이름 | 타입 | 설명 |
---|---|---|
Default | 부울 | 키워드의 기본 상태를 켜기로 설정하려면 체크박스를 활성화하고, 기본 상태를 끄기로 설정하려면 체크박스를 비활성화하십시오. 이 체크박스는 셰이더 그래프에서 미리보기를 생성할 때 키워드에 사용할 값을 결정합니다. 또한 이 셰이더를 사용하여 새 머티리얼을 생성할 때 키워드의 기본값을 정의합니다. |
열거형 키워드
열거형 키워드는 Entries 리스트에서 정의하는 두 개 이상의 상태를 가질 수 있습니다. 열거형 키워드를 노출하면 Entries 리스트의 Display Names가 머티리얼 인스펙터의 드롭다운 메뉴에 나타납니다.
열거형 키워드를 정의하면 셰이더 그래프는 기본 Reference 이름에 정제된 버전의 Entry Name을 추가하여 각 상태를 정의합니다. 오른쪽 Reference Suffix 아래에서 Entry Name의 정제된 버전을 볼 수 있습니다. 셰이더 그래프는 {Reference}_{ReferenceSuffix}
패턴을 사용하여 대부분의 엔트리를 정의하지만, 꺼짐 상태로 간주하는 마지막 엔트리를 선택하기 위해 else
문을 사용한다는 점에 유의하십시오.
( )
또는 ! @
같은 특수 문자는 열거형 키워드의 Entry Name에 사용할 수 없습니다. 셰이더 그래프는 유효하지 않은 문자를 밑줄( _
)로 전환합니다.
타입별 파라미터
위에 나열된 일반 파라미터 외에도 열거형 키워드에는 다음과 같은 추가 파라미터가 있습니다.
이름 | 타입 | 설명 |
---|---|---|
Default | 열거형 | 드롭다운 메뉴에서 엔트리를 선택하여 셰이더 그래프가 미리보기를 생성할 때 키워드에 사용할 값을 결정합니다. 또한 이 셰이더를 사용하여 새 머티리얼을 생성할 때 키워드의 기본값을 정의합니다. Entries 리스트를 편집하면 셰이더 그래프가 이 드롭다운 메뉴의 옵션을 자동으로 업데이트합니다. |
Entries | 재정렬 가능한 리스트 | 이 리스트는 키워드의 모든 상태를 정의합니다. 각 상태에는 Display Name 및 Reference Suffix가 있습니다. • Display Name: 내부 인스펙터 및 머티리얼 인스펙터의 키워드에 대한 드롭다운 메뉴에 나타납니다. 또한 셰이더 그래프는 키워드를 참조하는 노드의 포트 레이블에도 이 이름을 사용합니다. • Reference Suffix: 셰이더 그래프가 이 접미사를 사용하여 셰이더에서 키워드 상태를 생성합니다. |
빌트인 키워드
빌트인 키워드는 항상 부울 또는 열거형 키워드이지만, 약간 다르게 작동합니다. Unity 에디터 또는 활성 렌더 파이프라인이 해당 값을 설정하며, 사용자는 편집할 수 없습니다.
그래프 인스펙터의 Node Settings 탭에 있는 모든 빌트인 키워드 필드는 Default 필드를 제외하고 회색으로 표시됩니다. 이 필드는 셰이더 그래프 미리보기에 차이점을 표시하기 위해 활성화 또는 비활성화할 수 있습니다. 또한 빌트인 키워드는 머티리얼 인스펙터에서 노출할 수 없습니다.