在内置渲染管线中创建剪影
为内置渲染管线创建剪影的最便捷方法,是创建一个灰度纹理,将该纹理导入 Unity,然后使用 Unity 将纹理的亮度转换为 Alpha。
请注意,在内置渲染管线中,剪影仅使用 Alpha 通道中的数据。这表示您可以为剪影定义形状,但不能定义颜色。
用于体现窗户光线的简单灰度剪影
相同剪影模拟透过窗户的光线
为此需要执行以下操作:
- 在所选的图像编辑器中创建灰度纹理。如果要创建与点光源一起使用的剪影,请将纹理布局设置为立方体贴图。如果要创建与聚光灯或方向光一起使用的剪影,请将纹理布局设置为常规 2D 纹理。
- 将纹理放在项目的资源 (Asset) 文件夹中以将纹理导入 Unity。
- 在项目 (Project) 视图中,选择代表纹理的纹理资源。此时纹理导入设置 (Texture Import Settings) 窗口会在检视视图 (Inspector) 中显示。
- 在检视视图 (Inspector) 中,设置以下值:
- 将纹理类型 (Texture Type) 设置为剪影 (Cookie)
- 将光源类型 (Light Type) 设置为与要为其创建剪影的光线类型一致
- 将 Alpha Source 设置为 From Gray Scale
- 在检视视图 (Inspector) 的底部单击应用 (Apply)。Unity 会将更新的导入设置应用于纹理资源。
请注意,剪影的像素不需要完全透明或不透明,但也可以包含两者之间的任何值。可以使用中间值来模拟光路中的灰尘或污垢,或模拟焦散效果,例如汽车前灯中的脊产生的效果。
有关在内置渲染管线中为剪影配置导入设置的更多信息,请参阅纹理类型:剪影。
限制
在内置渲染管线中,VertexLit 着色器无法显示剪影或阴影。
使用前向渲染时,会对带有剪影的方向光禁用阴影。在此情况下,可以编写自定义着色器来启用阴影;请参阅关于编写表面着色器的文档以了解更多详细信息。
其他资源