유니티 엔진 (Unity Engine)

[Unity] Shader Keyword 셰이더 키워드로 동작 조건부 작성

원생계 2023. 12. 20. 18:48

셰이더 키워드를 활용해서 조건부 분기 동작을 작성할 수 있다.

 

#if defined(_MY_KEYWORD)

// 이 사이에 KEYWORD 가 활성화 돼있을 때 처리를 추가.

#endif

float4 pos = v.vertex;
#if defined(_CUSTOM_INSTANCING)
	float4x4 insMatrix = _instancingData[svInstanceID];
	pos = mul(insMatrix, pos);
#endif

 

셰이더를 위처럼 작성한 뒤 C# 코드에서는 EnableKeyword 함수를 호출해서 KEYWORD 를 활성화한다.

 

셰이더 키워드

https://docs.unity3d.com/kr/current/Manual/shader-keywords.html#declaring-keywords

 

셰이더 키워드 - Unity 매뉴얼

셰이더 키워드를 통해 셰이더 코드에서 조건부 동작을 사용할 수 있습니다.일반적인 코드를 일부 공유하되, 특정한 키워드가 활성화되거나 비활성화되면 기능이 달라지는 셰이더를 만들 수 있

docs.unity3d.com

 

Material 의 Enable/Disable Keyword 메소드

https://docs.unity3d.com/ScriptReference/Material.EnableKeyword.html

 

Unity - Scripting API: Material.EnableKeyword

Shader keywords determine which shader variants Unity uses. For information on working with local shader keywords and global shader keywords and how they interact, see Using shader keywords with C# scripts. If you pass in a LocalKeyword and it does not exi

docs.unity3d.com


게임 개발에 필수적인 내용을 담는 명서들을 소개합니다.

 

<유니티 교과서 개정6판>(유니티 최신 버전) 구입 링크
https://link.coupang.com/a/be3P0t

 

유니티 교과서 개정6판

COUPANG

www.coupang.com


<리얼-타임 렌더링(REAL-TIME RENDERING) 4/e> 구입 링크
https://link.coupang.com/a/8VWas

 

리얼-타임 렌더링 4/e

COUPANG

www.coupang.com

 

<이득우의 게임 수학:39가지 예제로 배운다! 메타버스를 구성하는 게임 수학의 모든 것> 구입 링크
https://link.coupang.com/a/9BqLd

 

이득우의 게임 수학:39가지 예제로 배운다! 메타버스를 구성하는 게임 수학의 모든 것

COUPANG

www.coupang.com

 

유니티 에셋 스토어 링크
https://assetstore.unity.com?aid=1011lvz7h

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

(링크를 통해 도서/에셋 구입시 일정액의 수수료를 지급받습니다.)


 

728x90
반응형