Version: 2021.3
셰이더 클래스
셰이더 컴파일

셰이더 에셋

셰이더 에셋은 셰이더 오브젝트를 정의하는 Unity 프로젝트의 에셋입니다. 확장자가 .shader인 텍스트 파일입니다. 셰이더 코드가 포함되어 있습니다.

새로운 셰이더 에셋 생성

새 셰이더 에셋을 생성하려면 메인 메뉴의 Assets > Create > Shader 또는 Project View 컨텍스트 메뉴를 사용합니다.

인스펙터 레퍼런스

Unity 프로젝트에서 셰이더 에셋을 선택하면 인스펙터는 정의한 셰이더 오브젝트에 관한 기본 정보를 표시합니다. 또한 컴파일을 제어하고 컴파일된 코드를 확인합니다.

셰이더 인스펙터.
셰이더 인스펙터.

임포트 설정

인스펙터의 임포트 설정 섹션에서 셰이더 에셋의 기본 텍스처를 설정할 수 있습니다. 새로운 머티리얼이 이 셰이더로 생성될 때마다 텍스처가 자동으로 할당됩니다.

임포트된 오브젝트

인스펙터의 임포트된 오브젝트 섹션에서 셰이더 오브젝트 자체 관련 설정과 셰이더 컴파일러가 이를 처리하는 방법을 보고 편집할 수 있습니다.

셰이더 컴파일 팝업 메뉴.
셰이더 컴파일 팝업 메뉴.

표면 셰이더의 경우 Show generated code 버튼은 Unity가 단순화된 소스 파일에서 생성한 코드를 나타냅니다. 생성된 코드를 커스터마이즈하려면 셰이더 소스 파일에 복사하여 붙여넣으면 됩니다.

Compile and show code 팝업 메뉴를 사용하여 다음을 수행할 수 있습니다.

  • 선택한 그래픽스 API에 대해 모든 셰이더 배리언트를 수동으로 컴파일합니다. Unity 에디터에서 셰이더는 빌드 시간까지 모든 그래픽스 API에 대해 모든 셰이더 배리언트를 컴파일하지 않습니다. 오류를 확인하도록 수동으로 강제할 수 있습니다. 셰이더 컴파일러의 기능과 시기에 대한 자세한 내용은 셰이더 컴파일을 참조하십시오.
  • 선택한 플랫폼에 대해 컴파일된 셰이더 코드를 검사합니다. 이는 셰이더의 퍼포먼스를 최적화할 때 대체로 유용합니다. 때때로 로우 레벨의 여러 명령이 어떻게 생성됐는지를 알고 싶은 경우가 있습니다. 생성된 코드를 AMD GPU ShaderAnalyzer 또는 PVRShaderEditor와 같은 GPU 셰이더 성능 분석 툴에 붙여넣을 수 있습니다.

The Preprocess Only checkbox lets you view the preprocessed source for that shader asset.

셰이더 클래스
셰이더 컴파일