版本:Unity 6 (6000.0)
语言:英语
在内置渲染管线中从游戏对象发出光照
自定义着色器在内置渲染管线中如何贡献光照贴图数据

在内置渲染管线中创建 Cookie

在内置渲染管线一系列将场景内容显示在屏幕上的操作。Unity 允许您从预构建的渲染管线中选择,或者编写自己的渲染管线。更多信息
参见 术语表
中创建Cookie的最便捷方式是创建一张灰度纹理,将其导入 Unity,然后让 Unity 将纹理的亮度转换为 alpha。

请注意,在内置渲染管线中,Cookie 仅使用 alpha 通道中的数据。这意味着您可以为 Cookie 定义形状,但不能定义颜色。

A simple grayscale cookie for a window light
用于窗户光的简单灰度 Cookie
The same cookie simulating light from a window
模拟从窗户照射的光线的相同 Cookie

为此,请执行以下操作

  1. 在您选择的图像编辑器中创建一张灰度纹理。如果您要创建用于点光的 Cookie,请将纹理布局为立方体贴图六张方形纹理的集合,可以表示环境中的反射或几何体后面绘制的天空盒。六张方形纹理构成了包围物体的虚拟立方体的面;每个面都代表着沿世界轴方向(向上、向下、向左、向右、向前和向后)的视图。更多信息
    参见 术语表
    。如果您要创建用于聚光灯或方向光的 Cookie,请将纹理布局为普通的二维纹理。
  2. 将纹理放置在项目的 Asset 文件夹中,以将纹理导入 Unity。
  3. 在项目视图中,选择代表纹理的纹理资源。Unity 将在检视器一个 Unity 窗口,显示当前选择的游戏对象、资源或项目设置的信息,允许您检查和编辑这些值。更多信息
    参见 术语表
    中显示纹理导入设置
  4. 在检视器中,设置以下值
    • 纹理类型设置为Cookie
    • 光照类型设置为与您要创建 Cookie 的光照类型匹配
    • Alpha 源设置为从灰度
  5. 在检视器底部,点击应用。Unity 将将更新的导入设置应用于纹理资源。

请注意,Cookie 的像素计算机图像中最小的单位。像素大小取决于您的屏幕分辨率。像素光照在每个屏幕像素处计算。更多信息
参见 术语表
不需要完全透明或不透明,也可以包含介于两者之间的任何值。您可以使用介于两者之间的值来模拟光线路径中的灰尘或污垢,或模拟诸如汽车前照灯脊线产生的焦散效果。

有关在内置渲染管线中配置 Cookie 导入设置的更多信息,请参见纹理类型:Cookie

限制

在内置渲染管线中,VertexLit着色器在 GPU 上运行的程序。更多信息
参见 术语表
无法显示 Cookie 或阴影。

当使用前向渲染一种渲染路径,根据影响对象的光照,对每个对象进行一次或多次传递渲染。光照本身也会根据其设置和强度,以不同的方式由前向渲染处理。更多信息
参见 术语表
时,方向光与 Cookie 的阴影将被禁用。可以编写自定义着色器来在这种情况下启用阴影;有关更多详细信息,请参见有关编写表面着色器的文档。

其他资源

在内置渲染管线中从游戏对象发出光照
自定义着色器在内置渲染管线中如何贡献光照贴图数据