游戏开发小结——使用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。

结果:

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

这篇文章到此为止。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐