ue3dUnity中的URP使用光层创建仅影响特定对象的光

Unity中的URP使用光层创建仅影响特定对象的光

分类:
ue3d - Unity中的URP使用光层创建仅影响特定对象的光

从Unity2021.2开始,可以在URP(通用渲染管线)中使用光照层,此功能可以创建仅影响特定对象的灯光,那么本文将介绍如何实现这一点。

首先需要创建一个示例来验证灯光层的功能。

创建示例场景

创建一个具有两个球形和两个点光源的场景。

如下所示

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

在上方可以看到红色和绿色点光源分别在两个球体中反射,本文的目标是使用来自该状态的光层使每个球体反射一种光,如下图所示。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

设置光层

现在设置光层,首先,按下Universal Render Pipeline Asset中Lighting右侧看起来像省略号的按钮并启用Show Additional Properties。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

然后,Lighting中会出现一个名为Light Layers的复选框,勾选它。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

然后从点光源的检查器中,General → Light Layer选择1: Light Layer 1将其更改为仅选中。

此外,更改另一个点光源2: Light Layer 2,以便仅选中。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

最后,更改球形的设置Additional Settings → Rendering Layer Mask,并设置Mesh Renderer,另一个球体应设置为0: Light Layer default 1: Light Layer 1和0: Light Layer default 2: Light Layer 2。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

如果得到如下图的渲染结果,说明光层设置成功。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

此外,设置两个灯光影响地板平面的结果,

如下所示

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

重命名光层

现在,可以自由更改光层的名称,这是从Project Settings → Graphics → URP Global Settings → Light Layer Names更改。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

实际使用的时候,根据用途设置一个合适的名字就好了。

自定义阴影层

对于每盏灯,还可以设置一个图层来影响其阴影。

为此,请选中Light组件并从Shadows → Custom Shadow Layers设置想要Layer影响的灯光层。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

在下面的应用示例中,可以看到红光只照亮了一个物体,但同时影响了两个物体的阴影。

ue3d - Unity中的URP使用光层创建仅影响特定对象的光

以上是3D天堂关于如何使用Unity的URP光层制作只影响特定对象光的全部内容,如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:564
  • 字符:1957
  • 适用软件:Unity
  • 说明:无
  • 编号:161597

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!