셰이더 키워드를 활용해서 조건부 분기 동작을 작성할 수 있다.
#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
(링크를 통해 도서/에셋 구입시 일정액의 수수료를 지급받습니다.)
'유니티 엔진 (Unity Engine)' 카테고리의 다른 글
[Unity] VR 기초, 방 탈출 게임 프로젝트 학습 코스 스크랩 (0) | 2024.01.30 |
---|---|
[Unity] Inspector Custom Editor 에 추가 버튼, 삭제 버튼 추가 (0) | 2024.01.15 |
[Unity] Inspector 에 Addressable AssetReference 배열 노출시키기 (0) | 2024.01.15 |
[Unity] Editor SceneView 에서 카메라 조작하기 (fov, position, rotation) (0) | 2023.12.07 |
[Unity] Addressable.LoadAssetAsync() 동기/비동기 처리 (0) | 2023.12.04 |
[Unity] C# Finalizer 와 Garbage Collector 동작에 대한 정리 (0) | 2023.12.01 |
[Unity] Flags Attribute (0) | 2023.11.30 |