游戏开发小结——使用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。
结果:
如您所见,仅中间的球受到绿色光的影响,就像橙色光只会影响外部球一样。
这篇文章到此为止。