본문 바로가기

유니티/기본기

유니티 Shader 공부 (Properties)

728x90
반응형
 // 쉐이더의 값을 조절하기 위한 Properties
 // 예) Color타입의 Properties를 만들면 Inspector상에서 값을 조절할 수 있다.
 Properties
 {
 	// _Color라는 이름의 프로퍼티를 만듦
 	// Inspector상에 "Color" 라는 명칭으로 표기하고
 	// Color 타입에 RGBA 1,1,1,1 (흰색)을 기본으로 설정함
 	_Color ("Color", Color) = (1,1,1,1)

 	// _MainTex라는 이름의 프로퍼티를 만듦
 	// Inspector상에 "Albedo (RGB)" 라는 명칭으로 표기하고
 	// sampler2D 타입에 white(RGBA 1 = (1,1,1,1) = white)를 기본으로 설정함
 	// sampler2D : 프로퍼티 셋팅 시에는 'sampler'는 지우고 '2D'로만 입력한다.
 	// sampler2D : 2D 텍스처로부터 값을 얻어오기 위해 사용
 	// 내장된 기본 값 "white", "black", "gray" or "bump"
 	_MainTex ("Albedo (RGB)", 2D) = "white" {}
        
 	// _CubeMap라는 이름의 프로퍼티를 만듦
 	// Inspector상에 "CubeMap" 라는 명칭으로 표기하고
 	// Cube 타입으로 기본을 비움
 	// TextureType이 Cube로 되어있는 Texture를 드래그드롭할 수 있게 되며
 	// 오브젝트의 반사나 주변 환경을 캡처하는데 사용된다.
 	// 스카이박스(Skyboxes)와 환경반사(Environment Reflections) 등은 주로 큐브맵을 사용한다고 함
 	// https://bornsoul.tistory.com/15 << 해당 사이트에 들어가면 알아보기 쉽게 정리되어 있다.
 	// CubeMap을 사용하여 캐릭터의 장비를 등급에 따라 마스킹을 바꿔줄 때 사용할 수 있을것 같다.
 	_CubeMap("CubeMap", Cube) = "" {}
    
 	// _Rect라는 이름의 프로퍼티를 만듦
 	// Inspector상에 "Rect" 라는 명칭으로 표기하고
 	// Rect 타입으로 기본을 비움
 	// 직사각형 (2의 지수가 아닌) Texture를 드래그드롭할 수 있게 된다.
 	// 위에 sampler2D와 같은 GUI 요소 및 기능을 한다.
 	_Rect ("Rect", Rect) = "" {}

 	// _Glossiness라는 이름의 프로퍼티를 만듦
 	// Inspector상에 "Smoothness" 라는 명칭으로 표기하고
 	// Range 타입에 value = 0.5를 기본으로 설정함
 	// Range : ProgressBar 형태의 타입으로 Range(Min,Max)값으로 조절이 가능하다.
 	_Glossiness ("Smoothness", Range(0,1)) = 0.5

 	// _Metallic라는 이름의 프로퍼티를 만듦
 	// Inspector상에 "Metallic" 라는 명칭으로 표기하고
 	// Range 타입에 value = 0.0을 기본으로 설정함
 	// Range : ProgressBar 형태의 타입으로 Range(Min,Max)값으로 조절이 가능하다. 
 	_Metallic ("Metallic", Range(0,1)) = 0.0
		
 	// 프로퍼티 이름 작성 규칙
 	// 한글 : X
 	// 띄어쓰기 : X
 	// 숫자부터 시작 : X
 	// 예약어 : X
 	// _ (언더바) 이외의 특수 문자 : X
 	// _ (언더바)는 외부에서 입력을 받았다는 것을 표시하기 위해 쓰인다.
 	// 필수는 아니고 대중적으로 그렇게 사용되고 있음
 	// (코드 작성할 때 카멜,파스칼케이스 표기법처럼)

 	// 프로퍼티 타입별 종류
 	// Range (최소 ~ 최대)로 이루어진 슬라이더(프로그래스바)
 	// PropertiesName ("InspectorName", Range(min, max)) = defaultValue : 예) 0.5
 	// ======================================================================
 	// Float 실수형(소수점 한자리) 값
 	// PropertiesName ("InspectorName", Float) = defaultValue : 예) 0.3
 	// ======================================================================
 	// Color RGBA 색상 값 (float4)
 	// PropertiesName ("InspectorName", Color) = defaultValue : 예) (1,1,1,1)
 	// ======================================================================
 	// Vector float4(x,y,w,z) 값
 	// PropertiesName ("InspectorName", Vector) = defaultValue : 예) (0.1, 0.2, 0, 1)
 	// ======================================================================
 	// Cube = {}
 	// PropertiesName ("InspectorName", Cube) = "" {}
 	// ======================================================================
 	// Rect = {}
 	// PropertiesName ("InspectorName", Rect) = "" {}
  	// ======================================================================
 	// 2D(sampler2D) 텍스쳐 정보
 	// PropertiesName ("InspectorName", 2D) = defaultValue : 예) "white" { options }
 	// "white" { options } << {}안에 옵션을 넣는다는데
 	// 어떤값을 넣어야하는지 사용예시를 찾아볼 수가 없음
 	// (혹시 알고 계신분은 공유 부탁드립니다 ㅠㅠ)
 }

 

Inspector에서 이렇게 보인다.
다람쥐와 포동포동이

 

RememberCook 9월 28일 정식 출시!

두번째 게임인 RememberCook이 출시되었습니다. 귀여운 캐릭터들이 나오는 간단한 게임이며 플레이어의 공간인지능력을 테스트하는 게임입니다. 아래 링크를 통해 다운 받으실 수 있으니 많은 관��

chipmunk-plump-plump.tistory.com

반응형