纳金网

标题: 使用Unity的反射探针制作伪内饰效果 [打印本页]

作者: 驰骋的风    时间: 2018-10-31 16:44
标题: 使用Unity的反射探针制作伪内饰效果
如果你玩过或看过最新的《漫威蜘蛛侠》游戏,是否想知道游戏中的室内效果是如何实现的?

本文将由游戏开发者Anthelme Dumont来介绍,如何使用Unity 2018.1中的内置组件模拟出相同效果。

本文项目及资源下载地址:

首先,我们使用Unity 2018新创建一个3D新项目,命名为Reflection Probes Fake Interior。

1.gif

我们需要确保已在项目设置中已经勾选Reflection Probes Box Projection选项。

我们可以点击菜单Edit > Project Settings > Graphics,取消勾选Use defaults选项,然后在所有层级上勾选Reflection Probes Box Projection。

2.gif

现在开始制作,我们使用了二个通过Asset Forge制作的3D模型,一个模型用于内部效果,另一个模型用于外部效果,带有多个颜色变体。如下图所示。

[img=0,30][/img]

首先在场景中放置模型,我们需要确保模型都是静态的,点击位于模型对象检视窗口右上角的Static按钮,并选中层级窗口的所有模型进行设置。

然后我们翻转内部模型,这如同现实世界中镜子反射相反一样,项目中,探针反射的画面是相反的。

我们在层级窗口选中外部模型,将其Z轴设为-1。

5.gif

现在进入本文核心部分:反射探针。我们右键点击层级窗口空白位置,依次选择Light > Reflection Probe,将反射探针放入内部模型中。

6.gif

勾选Reflection Probe检视窗口内的Box Projection选项。

点击Reflection Probe检视窗口顶部的Size按钮,然后将黄色方块的边缘尽可能移到靠近内部墙壁、天花板和地板的位置。

7.gif

点击Reflection Probe检视窗口顶部的Origin按钮,移动探针到窗户位置。然后我们为其余窗户重复以上步骤。

8.gif

如果觉得内部环境太暗,我们可以右键点击层级窗口,选择Light下的任意光线类型进行添加。此项目中,我们为窗户使用区域光,使用点光源作为吊灯。

9.gif

光线和反射探针部分已经完成,下一步要进行烘焙光照。

10.gif

我们要为每个窗户创建四边形,右键点击层级窗口,依次选择3D Object > Quad,移动并调整四边形大小,使之完全盖住窗户部分。

11.gif

窗户需要具有完全的反射效果,所以我们要创建新材质。

右键点击项目窗口,依次选择Create > Material,设置Metallic和Smoothness参数为1。最后将该材质拖到窗户上使用。

12.gif

在这里,我们编写了一个脚本,即项目文件Scripts目录下的WindowComponent.cs,它可以将内部房屋模型的反射探针复制到所有窗户上。

该脚本非常容易理解,将反射探针作为参数传入,脚本会复制并移动反射探针到正确位置。

13.gif

这样大功告成了,我们运行场景就能看到不错的伪内饰效果。

14.gif

15.gif

最后需要一点小提醒:这种方法快速而简单,但是也存在一些缺点。例如如果旋转其中一个窗户,你会注意到反射效果出现问题,这是因为反射探针制作的立方体贴图,只有固定的旋转角度。



4.gif (70.24 KB, 下载次数: 510)

4.gif


作者: ayanamichaos1    时间: 2018-11-2 10:21
感谢分享
作者: Justin2016    时间: 2018-11-5 00:51
好技巧,学习
作者: jaeo74    时间: 2018-11-5 11:17
好东西,感谢分享!




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5