游戏开发小结——使用Light Layers在Unity中控制灯光

游戏开发小结——使用Light Layers在Unity中控制灯光在这里插入图片描述概述:

今天我们要看看Light Layers以及如何使用它们。
什么是Light Layers:
高清晰渲染管线High-Definition Render Pipeline(HDRP)允许您使用Light Layers,它们基本上是Light的Layer Mask。您可以使场景中的灯光仅照亮特定的网格(Meshes)。
在这里插入图片描述

使用Light Layers:
1.首先,让我们向场景添加两个Spotlight。在Hierarchy内右键单击并选择Light> Spotlight,或单击加号图标并选择Light> Spotlight。
在这里插入图片描述我已改变每个灯的颜色。一个绿色,一个橙色。
在这里插入图片描述

2.现在,在使用灯光图层(light layers)之前,您需要在项目(Project)窗口中启用它们。定位设置(Settings)文件夹并打开它,然后单击HDRenderPipeline Asset。
在这里插入图片描述

3.在检查器内(Inspector),找到Light Layers下拉菜单并单击启用。
在这里插入图片描述

4.选择场景中的两个灯源,单击齿轮图标以显示其他设置。
在这里插入图片描述5.您可以指定您想要的灯光层(layer),例如,我将我的绿灯仅设置为layer2,而将橙色灯设置为仅layer1。
在这里插入图片描述
Light Layer 2绿光.在这里插入图片描述
Light Layer 1橙光.
6.您还可以指定哪些对象受到灯光的影响。
您可以选择一个对象并将其使用Rendering Layer Mask下拉菜单设置为选择哪个Light Layers影响此Mesh Renderer。当您启用Light Layers时,仅当灯(Light)和Mesh Renderer均使用匹配的Light Layer时,灯才会影响Mesh Renderer。
例如:
我在场景中有三个球。我将中间球的Rendering Layer Mask设置为层2(绿光),将另外两个外层球的设置其为层1(橙光)。
在这里插入图片描述

中间球的Rendering Layer Mask设置为层2。
在这里插入图片描述

外部球的Rendering Layer Mask设置为层2。

结果:

如您所见,仅中间的球受到绿色光的影响,就像橙色光只会影响外部球一样。
在这里插入图片描述

这篇文章到此为止。

### 设置和使用 Unity HDRP 中的灯光遮罩 在 Unity 的高清渲染管线 (HDRP) 中,通过 Light Layers 功能可以实现对不同对象应用不同的光照效果。这允许开发者精确控制哪些物体受到特定光源的影响。 #### 配置 Light Layers 为了设置灯光遮罩,在 Project Settings -> Quality 下找到 HDRP 资源并确认 Volumetric 选项已适当配置[^1]。然而,对于具体的 Light Layers 操作: - 打开场景中的任意光源组件(如 Directional Light, Point Light 等) - 查找 Inspector 窗口中名为 "Light Layer Mask" 或者类似的属性字段 - 使用此字段指定该光源应影响的对象层;可以通过勾选相应的图层名称来进行多选 此外,确保目标 GameObject 已经分配了合适的 Layer,并且这些 Layer 名称与光源上的 Layer Mask 匹配。 #### 应用实例 假设有一个场景中有多个角色模型以及环境物件,希望只有某些特殊标记的角色能够被某个聚光灯照亮,则可以在如下方面做工作: - 创建自定义Layer标签给定那些需要特别照明处理的目标GameObject - 修改聚光灯Inspector面板里的Light Layer Mask参数以仅包含上述创建的新Layer 这样就实现了基于Layer的选择性光照效果。 ```csharp // C#脚本示例:动态更改游戏对象所在的Layer public class ChangeObjectLayer : MonoBehaviour { public string newLayerName; void Start() { gameObject.layer = LayerMask.NameToLayer(newLayerName); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小云同志你好

谁能书阁下,白首太玄经

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值