Version: Unity 6.0 (6000.0)
语言 : 中文
配置边缘反射(菲涅耳效应)
自定义内置渲染管线中的标准着色器源代码

使用脚本在标准着色器中设置渲染模式

在更改渲染模式 (Rendering Mode) 时,Unity 将对材质应用多项更改。无法通过单个 C# API 更改材质的渲染模式,但是您可以在代码中进行效果相同的更改。

要查看 Unity 在您更改渲染模式时所做出的更改,请执行以下操作:

  1. 下载 Unity 内置着色器的源代码。请参阅自行创建着色器以了解相关说明。
  2. 打开 StandardShaderGUI.cs 文件。
  3. 找到文件中如下所示的区域,并查看每种渲染模式的更改。
switch (blendMode)
        {
            case BlendMode.Opaque:
               // Changes associated with Opaque Rendering Mode are here
                break;
            case BlendMode.Cutout:
                // Changes associated with Cutout Rendering Mode are here
                break;
            case BlendMode.Fade:
                // Changes associated with Fade Rendering Mode are here
                break;
            case BlendMode.Transparent:
                // Changes associated with Transparent Rendering Mode are here
                break;
        }

此图像中的头盔罩使用 Transparent 模式渲染而成,因为它应该表示具有透明属性的真实物理对象。此处的头盔罩正在反射场景中的天空盒。
此图像中的头盔罩使用 Transparent 模式渲染而成,因为它应该表示具有透明属性的真实物理对象。此处的头盔罩正在反射场景中的天空盒。
这些窗户使用了 Transparent 模式,但在纹理中定义了一些完全不透明的区域(窗框)。来自光源的镜面反射将反射透明区域和不透明区域。
这些窗户使用了 Transparent 模式,但在纹理中定义了一些完全不透明的区域(窗框)。来自光源的镜面反射将反射透明区域和不透明区域。
此图像中的全息图使用 Fade 模式渲染而成,因为它应该表示部分淡出的不透明对象。
此图像中的全息图使用 Fade 模式渲染而成,因为它应该表示部分淡出的不透明对象。
此图像中的草使用 Cutout 模式渲染而成。此模式为对象提供了清晰的锐利边缘(通过指定截止阈值进行定义)。Alpha 值高于此阈值的图像的所有部分都是 100% 不透明的,而低于此阈值的所有部分都是不可见的。在图像的右侧,可看到材质设置和所用纹理的 Alpha 通道。
此图像中的草使用 Cutout 模式渲染而成。此模式为对象提供了清晰的锐利边缘(通过指定截止阈值进行定义)。Alpha 值高于此阈值的图像的所有部分都是 100% 不透明的,而低于此阈值的所有部分都是不可见的。在图像的右侧,可看到材质设置和所用纹理的 Alpha 通道。
配置边缘反射(菲涅耳效应)
自定义内置渲染管线中的标准着色器源代码