본문 바로가기

분류 전체보기286

Unity Shader 04 - 변수 이용. 변수는 아래와 같이 데이타 타입과 변수명으로 이루어져있음. ​ float4 testName ; ​ 규칙 1. 변수명은 첫글자가 영어로 시작 2.한글, 공백, 숫자, 특수문자 불가 - 언더바( _ ) 만 예외 3.예약어 사용불가. (float, Color등 이미 사용하고 있는 용어) 4.이미 사용중인 변수는 다시 사용 불가 5.대소문자 구별함. (가급적 시작은 소문자로 할것) 변수 test를 선언하고, 초기값을 입력, 그리고 Albedo에 대입시켰음. 결과는 붉게 표현됨. 여기서 주의..... ​ struct SurfaceOutputStandard { fixed3 Albedo; (반사율) fixed3 Normal; fixed3 Emission; (방사) half Metallic; half Smoothnes.. 2021. 7. 15.
Unity Shader 03 - 간단한 색상의 사칙연산 간단한 색상의 사칙연산 ​ Red1, Green 1 은 Yellow ​ Red1 Blue 1 은 Purple ​ ​ Red 1 - Red 0.5 = Red 0.5, 그리고 Green1 - Yellow green ​ 0을 곱하면,... 0 0.5 * 0.5 = 0.25 0.25,0.25,0.25 0.5,0.5,0.5 ​ 0,1 최소값과 최대값. 0이하 없고, 1 이상 없음. 결과값이 2가 나와도 1로 표현. 역시 값이 -1 이 나와도 0으로 표현. 이 이상 표현하는 것은 HDR (High Dynamic Range) 에서 가능. 2021. 7. 14.
Unity Shader 02 색상을 출력하고 연산하기. 1번은 Properties 영역. 인터페이스를 제작하는 영역. 진짜 쉐이더를 작업하는 부분은 2번 부터. CGPROGRAM ~ ENDCG 3번은 유니티 자체의 스크립트가 아닌 CG언어를 이용해 쉐이더를 직접 짜는 부분 서페이스 쉐이더의 특징, 스크립트와 쉐이더 언어를 같이 씀. 1,2번은 스크립트를 썼고, 3번은 쉐이더 언어를 쓰고 있음. 1번은 설정 부분. '전처리' 또는 '스니핏(Snippet)' 이라고 부르기도 함. 쉐이더의 조명계산 설정이나, 기타 세부적인 분기를 정해주는 부분. ​ 2번은 'Input'이라는 이름을 가진 구조체(Structure 스트럭쳐) 이 안에 넣은 내용은 '엔진으로부터 받아와야 할 데이터' 들이 들어감. 괄호 끝에 { }; 세미클론이 붙음 ​ 3번.. 2021. 7. 13.
Unity Shader 01 인터페이스 만들기. ​ Float 을 받는 인터페이스 _Name ("display name", Range (min, max)) = number _Name ("display name", Float) = number _Name ("display name", int) = number ​ Float4를 받는 인터페이스 _Name ("display name", Color) = (number, number, number, number) _Name ("display name", Vector) = (number, number, number, number) ​ 기타 Sampler를 받는 인터페이스 _Name ("display name", 2D) = "number" { options } _Name ("display nam.. 2021. 7. 12.