shader02
Shader를 실제로 사용해보기
소개
이번부터 실제 shader를 사용해 봅시다!
이번에 사용하는 도구는 unity입니다. (버전은 5.6입니다)
사용할 때까지의 흐름
흐름으로서는 우선 material을 만듭니다. 그런 다음 create에서 shader(standard surface shader)를 선택하여 shader 스크립트를 만듭니다. 그러면 만든 두 물건을 연결! 머티리얼의 shader 부분을 Custom으로 만들고 자신이 만든 shader 스크립트를 선택합니다. (이미지에서는 material:test shader 스크립트:test입니다.)
실제 코딩
이번에는 가장 간단한 SurfaceShader에 대해 씁니다.
1. 우선 코드 전체를 Shader "Custom/test"{SubShader {....}FallBack "Diffuse"
}로 묶습니다.
2. CGPROGRAM은 여기에서 shader 코드가 시작되어 ENDCG로 끝난다는 것입니다.
3.#pragma surface surf Lambert는 SurfaceShader의 메인 함수는 surf라는 것입니다.
그리고 Lambert는 작문의 방법입니다. 거꾸로 말하면 시점의 위치에 관계없이 (근사된) 같은 색으로 보인다는 방법입니다.
4.10~12행에서는 shader로 흘러 들어오는 정보를 정의합니다. 이번은 색이군요!
5.14~16행째는 주역, 메인입니다! 인수의 IN은 Input 구조체에서 정의한 유입되는 변수, o는 출력하는 구조체입니다. 처음에는 좀처럼 이미지를 모르겠다고 생각합니다만, 이미지로서는 흘러들어온 구조체의 변수를 만져 출력 구조체에 세트 같은 느낌입니다! 그러면 화면에 변화가 방문할 것! 입니다. 이번에는 출력의 확산광의 색을 빨강으로 세트하고 있으므로 이 material을 세트 한 오브젝트는 빨갛게 될 것입니다.
마지막으로
초학자 전용으로 쓰고 있기 때문에 조금 어려운 곳은 날려서 쓰고 있기 때문에 만지지 않은 부분에 관해서는 조금 참아 사경해보세요. 앞으로의 기사에서 확실히 써서 여러분이므로 걱정하지 마십시오! 또한 실수가 있거나 질문 등이 있으면 코멘트하십시오!
Reference
이 문제에 관하여(shader02), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keito_takaishi/items/5f4af71517998a18c47c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(shader02), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keito_takaishi/items/5f4af71517998a18c47c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)