유니티 셰이더 예제

위의 예제는 주변 조명이나 조명 프로브를 고려하지 않습니다. 이 문제를 해결해 봅시다! 한 줄의 코드만 추가하여 이 작업을 수행할 수 있습니다. 주변 프로브와 라이트 프로브 모두 라이트가 장면의 공간을 통과하는 방식에 대한 정보를 저장합니다. 지정된 공간 내에 배치된 라이트 프로브 컬렉션을 사용하면 움직이는 오브젝트의 조명과 해당 공간 내의 정적 LOD 풍경을 개선할 수 있습니다. 더 많은 infoSeeIns 데이터구형 고조파 형태의 셰이더에 전달되고, UnityCG.cginc의 ShadeSH9 함수는 표준 공간 정상을 감안할 때 파일을 평가하는 모든 작업을 수행합니다. 각 SubShader는 여러 가공 패스로 구성되며 각 Pass는 샤더의 재질로 렌더링된 동일한 오브젝트에 대한 정점 및 조각 코드의 실행을 나타냅니다. 많은 간단한 샤더는 한 번만 사용하지만 조명과 상호 작용하는 샤더는 더 많은 것이 필요할 수 있습니다(자세한 내용은 조명 파이프라인 참조). Pass 내부의 명령은 일반적으로 혼합 모드와 같은 고정 함수 상태를 설정합니다. GLSL 샤더 만들기는 복잡하지 않습니다: 프로젝트 뷰에서 만들기를 클릭하고 샤더를 선택합니다. “NewShader”라는 새 파일이 프로젝트 보기에 나타납니다.

두 번 클릭하여 열거나 마우스 오른쪽 단추로 클릭하고 열기를 선택합니다. Cg에서 기본 샤더가 있는 편집기가 나타납니다. 모든 텍스트를 삭제하고 다음 샤더를 이 파일에 붙여넣기: “appdata_full” 구조는 렌더링하는 모델의 속성과 함께 Unity에서 자동으로 채워집니다. 이는 이전과 동일하지만, Unity는 우리 자신의 구조를 명시적으로 만드는 대신 에이프를 이미 정의했습니다. 정의된 다른 구조와 여기에 전달될 특성을 확인할 수 있습니다. 만들기 > 샤더 메뉴의 다른 항목은 기본 표면 그늘기와 같은 베어본 샤더 또는 기타 유형을 만듭니다. tex2D는 샘플링할 텍스처(예: sample2D)와 샘플링할 UV 좌표를 사용합니다. 이 경우 메인 텍스처를 제공하고 색상을 원하는 모델의 포인트를 제공한 다음 그 결과를 최종 색상으로 반환합니다. 이제 유니티로 돌아가서 재질을 검사하면 “메인 텍스처”의 보울 텍스처를 선택할 수 있습니다. 모델 업데이트가 표시되고, 특히 그릇 모델(질감이 만들어진 모델)은 수프 그릇처럼 보일 것입니다! 새 재질을 삼각형 메시에 연결합니다. 이렇게 하려면 프로젝트 뷰에서 재질을 계층 뷰의 평면으로 끌어서 놓아 재질을 새 평면에 연결합니다.

Comments are closed.