灯光纹理
灯光纹理只是一张普通的纹理,不过只和 alpha/transparency 通道有关系。当导入一张灯光纹理时,Unity 提供了将图像的亮度转换为 alpha 的选项,因此通常将灯光纹理简单地设计为一张灰度纹理。你可以使用任意图像编辑器生成一张灯光纹理,并保存到项目的 Assets 文件夹下。
导入灯光纹理到 Unity 中时,在项目视图中选中它,并在检视视图中把贴图类型设置为 Cookie。你还应该开启 Alpha From Grayscale,除非你已经设计好了图像的 alpha 通道。
选项 Light Type 会影响投射纹理的方式。因为点光源向所有方向发射光,所以纹理贴图必须是 Cubemap 类型。如上图所示,聚光灯使用的纹理类型应该被设置为 Spotlight,而平行光实际上可以使用 Spotlight 或 Directional 类型。使用了 Directional 纹理的平行光将在整个场景上重复平铺纹理。如果使用 Spotlight 类型,则只会在『光束』直线路径上显示一次;唯有在这种情况下,平行光的位置才显得如此重要。
导入纹理后,在检视视图中,把它拖动到灯光的 Cookie 属性,以应用它。
聚光灯和点光源按照圆锥体或球体的尺寸简单地缩放灯光纹理。平行光额外提供了一个 Cookie Size 选项,允许你缩放纹理;类型为聚光灯和平行光的灯光纹理都支持缩放。
灯光纹理通常用于改变灯光的形状,使之与场景中绘制的某些细节相匹配。例如,黑暗的隧道可能具有沿着天花板的条形灯。如果使用标准的聚光灯模拟,光束将呈现为意想不到的圆形,但是可以使用灯光纹理约束光线,使之呈现为细长的矩形。正在使用监视器屏幕的角色,脸部可能会被投射绿色荧光,但是这种荧光应该被限制为小盒子形状。