Unity 매뉴얼: 셰이더의 핵심 개념
개요
Unity의 셰이더는 그래픽스에서 중요한 역할을 하며, 다양한 기능을 제공하기 위해 셰이더 키워드를 사용합니다. 이 문서에서는 셰이더 키워드의 기본 개념 및 Material Inspector에서 사용하는 방법에 대해 설명합니다.
셰이더 키워드란?
셰이더 키워드는 셰이더의 특정 기능을 활성화하거나 비활성화하는 설정입니다. 이를 통해 다양한 시각적 효과를 쉽게 관리할 수 있습니다.
Material Inspector에서의 키워드 설정
Unity 에디터의 Material Inspector에서 직접 키워드를 활성화하거나 비활성화할 수 있습니다. 이는 코드 없이도 아티스트가 쉽게 작업을 진행할 수 있도록 돕습니다.
| 기능 | 설명 |
|---|---|
| 키워드 활성화 | 아티스트가 다수의 키워드를 쉽게 설정 |
| 자동 비활성화 | 하나의 키워드가 활성화되면 다른 키워드는 자동으로 비활성화 |
셰이더 프로퍼티 선언
셰이더 소스에서 머티리얼 프로퍼티로 선언된 키워드만 인스펙터에서 사용할 수 있습니다. 셰이더 그래프를 사용하여 만든 셰이더는 기본적으로 이 요구사항을 충족합니다.
수동 코딩된 셰이더
수동으로 코딩된 셰이더는 MaterialProperty를 사용하여 키워드 세트를 정의해야 합니다. 프로퍼티의 유형은 'Float'이어야 하며, 적절한 속성을 사용해야 합니다.
예제 코드
다음은 셰이더 키워드를 C#과 함께 사용하는 방법의 예제입니다:
Shader "Custom/ApplyEffectIfKeywordIsOn"
{
Properties
{
// 머티리얼 인스펙터에 토글 표시
[Toggle] _Keyword ("Keyword", Float) = 0.0
}
SubShader
{
Pass
{
#pragma shader_feature _Keyword
fixed4 frag(v2f i) :SV_Target
{
#if _Keyword
// 빌드 타임에 _Keyword가 활성화되면 Unity는 아래 코드를 사용하는 셰이더 변형 생성
ApplyEffect();
#endif
// 나머지 셰이더 코드...
}
}
}
}
참고 자료
더 자세한 정보와 예시는 MaterialPropertyDrawer API 문서를 참조하십시오.
결론
셰이더 키워드는 Unity에서 효율적으로 그래픽스를 관리하고, 다양한 효과를 쉽게 적용할 수 있는 매우 유용한 기능입니다. 이를 활용하여 더욱 다양한 셰이더를 만들어 보세요!