Version: 2020.3
The Shader class
Shader compilation

셰이더 에셋

A shader asset is an asset in your Unity project that defines a Shader object. It is a text file with a .shader extension. It contains shader code.

Creating a new shader asset

To create a new shader asset, use Assets > Create > Shader from the main menu or the Project View context menu.

Inspector reference

When you select a shader asset in your Unity project, the Inspector displays basic information about the Shader object that it defines. It also provides controls for compiling, and inspecting the compiled code.

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

Import settings

The Import settings section of the Inspector lets you set the default textures for a shader asset. Whenever a new Material is created with this shader, these textures are automatically assigned.

Imported object

The Imported object section of the Inspector lets you view and edit settings related to the Shader object itself, and how the shader compiler handles it.

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

For Surface Shaders, the Show generated code button displays the code that Unity generates from your simplified source file. If you want to customize the generated code, you can just copy and paste it into your shader source file.

You can use the Compile and show code popup menu to:

  • Manually compile all shader variants for a selected graphics API. In the Unity Editor, the shader does not compile all shader variants for all graphics APIs until build time. You can manually force this to check for errors. For more information on what the shader compiler does and when, see Shader compilation
  • Inspect the compiled shader code for selected platforms. This is mostly useful while optimizing shaders for performance; often you do want to know how many low-level instructions are generated. You can paste the generated code into GPU shader performance analysis tools (like AMD GPU ShaderAnalyzer or PVRShaderEditor.
The Shader class
Shader compilation
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。