본문 바로가기
유니티 엔진

Unity Shader Properties 인터페이스 추가기능 정리

by 대마왕J 2014. 10. 28.

간단하게 정리하면.. 크게 두 가지가 추가되었네요 4.3부터. 토글과 이넘입니다.

 

스킬트리랩 저스틴 스승님께 도움받았습니다. 역시 스승님.. 굽신굽신

출처는 http://docs.unity3d.com/ScriptReference/MaterialPropertyDrawer.html 

입니다.

 

[Toggle] _Invert ("Invert color?", Float) = 0

토글기능입니다. 토글 인터페이스가 생깁니다.

 

// Will set "ENABLE_FANCY" shader keyword when set
[Toggle(ENABLE_FANCY)] _Fancy ("Fancy?", Float) = 0 

키워드 기능이 생긴다는데... 뭡니까 이건...? Enum 쪽이랑 연결되나요? 스크립트에서 키워드로 부를 수 있게 연결되나요?

쉐이더 자체만으로는 변화를 모르겠습니다. 그냥 토글..

 

[PowerSlider(3.0)] _Shininess ("Shininess", Range (0.01, 1)) = 0.08

슬라이더가 선형(직선)으로 만들어지는게 아니라 지수로 만들어지는 듯 합니다. 처음에는 천천히 가다가 점점 빨라지는 ...

3.0이 파워 수치겠죠. 지금 예 처럼 스페큘러 지수 정도에 사용하면 좋을듯.

 

[Enum(UnityEngine.Rendering.BlendMode)] _Blend ("Blend mode", Float) = 1

Enum이 생겼습니다!! 이제 드롭다운 인터페이스를 쉐이더에서 쓸 수 있습니다.

그중에서도 UnityEngine.Rendering.BlendMode 처럼 경로를 쓰면 그 안의 Enum 데이터들을 받아올 수 있는 듯.

 

// A subset of blend mode values, just "One" (value 1) and "SrcAlpha" (value 5)
[Enum(One,1,SrcAlpha,5)] _Blend2 ("Blend mode subset", Float) = 1

Enum 입니다. 위의 경우에는 두 개가 생기고, One 을 선택하면 1을 출력하고 SrcAlpha를 선택하면 5를 출력합니다.

 

[KeywordEnum(None, Add, Multiply)] _Overlay ("Overlay mode", Float) = 0

키워드로만 입력하는 Enum입니다. 이걸 더 많이 쓰겠군요. 순서대로 Enum의 요소를 쓰면 0,1,2,3 순서대로 출력되는듯.

 

 

 

 

반응형

댓글