반응형 Unity9 [Material property drawer(2)] KeywordEnum 사용하기 KeyWordEnum 이 drawer는 인스펙터에 팝업 형식의 메뉴 생성을 할 수 있다. 9가지의 다른 상태들을 구성할 수 있다. Properties { [KeywordEnum(Off,Red,Blue)] _Options("Options",Float) =0 } Pass { CGPROGRAM #pragma multi_compile _OPTIONS_OFF _OPTIONS_RED _OPTIONS_BLUE ... fixed4 frag (v2f i) : SV_Target { // sample the texture fixed4 col = tex2D(_MainTex, i.uv); #if _OPTIONS_OFF return col; #elif _OPTIONS_RED return col * float4(1,0,0,1); .. 2022. 3. 26. [Material property drawer(1)] Toggle 사용하기 Material property drawer Unity의 ShaderLab에는 "drawer"라는 속성들이 있다. 이를 통해 인스펙터에서 직접만든 프로퍼티들을 생성할 수 있고 셰이더에서의 조건문들을 처리할 수 있다. Toggle 사용법에 대해 알아보자. 프로퍼티 작성 방법 Unity의 ShaderLab에서는 boolean 타입을 사용할 수가 없다. 대신 Toggle이 그 역할을 한다. [Toggle] _Enable("Enable",Float) = 0 Toggle을 사용하기 위해서는 타입: Float 기본 값: 0 또는 1 로 해야한다. 기본 값은 왜 0 또는 1이 되어야할까. 0의 의미는 Off 1의 의미는 On 코드에서 실행하는 방법 Pass { CGPROGRAM #pragma vertex vert #.. 2022. 3. 25. 1. 셰이더 기본 - UV 텍스처 좌표, 오브젝트에 텍스처를 매핑 가능 한 정점 UV를 변경하면 Mesh에 텍스처가 표시되는 방식도 변경할 수 있음 - 셰이더 정점과 픽셀의 특성을 설명하는 프로그램 => 컴퓨터가 Mesh를 렌더링하는 방식을 설정하고 변경 - MeshInfo(Vertex, Uv etc.) 컴퓨터에서 읽은 후 Vertex Shader로 전달 - Vertex Shader 각 Vertex마다 한번씩 실행 Pixel Shader가 다음에 사용할 데이터(ex-UV)를 준비 - Pixel Shader 각 픽셀 당 한번씩 실행되고 객체 렌더링 텍스처 적용,색상 변경, 픽셀 제거 등 역할을 함 Property 속성에 표시되는 변수, 셰이더에서 사용 Properties { _MainTex("Texture",2D)= "wh.. 2020. 1. 12. 이전 1 2 다음 반응형