책 '유니티 쉐이더 스타트업' 을 보고 공부했습니다.
인터넷 '포프의 쉐이더 입문강좌' 를 참고했습니다. ( https://kblog.popekim.com/2011/11/01-part-1.html )
Standard Surface Shader를 만들어보겠습니다.
스크립트를 열게 되면, 이런 코드가 미리 적혀있습니다.
유니티 버전은 2018.2.10f1 입니다.
나눠 보겠습니다.
1. Properties 영역
인터페이스를 제작하는 영역입니다.
자체 스크립트로 작성됩니다.
2. 쉐이더를 본격적으로 제작하는 영역
내부에 3번을 포함하고 있습니다.
자체 스크립트로 작성됩니다.
3. 쉐이더를 직접 짜는 부분
CGPROGRAM ~ ENDCG 영역입니다.
CG라는 쉐이더 언어로 작성됩니다.
Surface Shader의 특징처럼 스크립트와 쉐이더 언어를 같이 섞어서 사용하고 있습니다.
3번이 가장 중요하기 때문에, 다시 분류할 수 있습니다.
1. 설정 부분
전처리라고 할 수도 있고, 스니핏(snippet)이라고도 부릅니다.
쉐이더의 조명계산 설정이나, 기타 세부적인 분기를 정해주는 부분입니다.
2. 구조체
이 안에 넣는 내용은 '엔진으로부터 받아와야 할 데이터' 들이 들어갑니다.
3. GPU 인스턴싱 기능
유니티 5.6부터 GPU 인스턴싱 기능이 추가되면서 생긴 것이지만, 없어도 큰 문제가 되지 않습니다.
4. 함수 영역
색상이나 이미지가 출력되는 부분을 만들 수 있습니다.
5. 1,2,3,4 번에 모두 속하지 않는 부분
변수를 선언할 수 있습니다.
'기타 > Unity' 카테고리의 다른 글
[Unity Effect] 나루토 스타일 이펙트 (0) | 2018.12.09 |
---|---|
[Unity Shader] 쉐이더 인터페이스, Properties (0) | 2018.11.30 |
[Unity Shader] 유니티 쉐이더 언어 (0) | 2018.11.29 |
[Shader] 쉐이더(Shader)란? (0) | 2018.11.29 |
[Unity Effect] 반짝이는 공 이펙트 (0) | 2018.11.16 |