如果像我一样,您曾经玩过或看过最新的《蜘蛛侠》游戏,您可能想知道那些神奇的室内效果如何发挥作用。 但是您知道仅使用内置组件就可以使用Unity复制相同的效果吗? 这就是我将在本教程中尝试解释的内容。
对于此项目,我正在使用Unity 2018.1,但您可以使用从5.x到2018.x的任何版本,即使我不确定它是否适用于新的可脚本化管道。

在开始之前,您需要确保在项目设置中启用了“反射探针盒投影”选项。
如果不是,请转到“编辑” /“项目设置” /“图形”,取消选中“使用默认值”选项,然后选中所有层上的“反射探针”框投影。

现在,我们就可以开始了,我使用的是由Asset Forge制作的两个3D模型,一个用于内部,一个用于外部,并带有一些颜色变化。 首先将所有模型放置在场景中。

您可以在下面的链接中找到项目文件和资产。
https://github.com/Anthelmed/unity-fake-interior-effect
在继续进行之前,请确保您的模型是静态模型(单击检查器右上角的“静态”按钮),并且已在“层次结构”中选择了所有模型。

接下来,我们需要翻转内部模型。
如果您想知道为什么,那是因为像在现实世界中一样,镜子(这里是我们的探头)所产生的反射是相反的。
在“层次结构”中选择外部模型,并将其在Z轴上缩放为-1(正向)。

现在,我们可以深入了解本教程的核心:反射探针。
右键单击“层次结构”>“灯光”>“反射探针”,然后将您创建的反射探针放置在内部模型中。

选中“反射探针”检查器中的“盒子投影”选项。
单击“反射探针”检查器顶部的“大小”按钮,并将边界(黄色框)移到尽可能靠近内墙,天花板和地板的位置。

然后单击“反射探针”检查器顶部的“原点”按钮,然后将探针移到窗口所在的位置。

对所有其他窗口重复这些步骤。
(可选的)
如果您认为室内太暗,则可以添加多种类型的灯。
右键单击“层次结构”>“灯光”>(根据需要)。
我将“区域照明”用于窗户,并将“点光源”用作吸顶灯。

现在完成了光和反射探针部分,我们现在可以烘烤闪电了。

下一步是为每个窗口创建一个四边形,在“层次结构”>“ 3D对象”>“四边形”内单击鼠标右键,以完全隐藏视图的方式移动并调整四边形的大小。

窗口需要100%反射,因此我们将创建一种新材料。
右键单击“项目”面板>“创建”>“材质”,将“金属”和“平滑度”参数设置为1。最后,将该材质拖放到窗口上以应用。

因为我属于惰性类型的开发人员,所以我创建了一个脚本,以将反射探针从内部模型复制到所有窗口。
该脚本非常容易理解:您将反射探针作为参数传递,并且脚本重复并将反射探针移到正确的位置。

就是这样,如果您播放场景,那么假的内部效果就好像是在魔术般起作用。


这种方法既快速又简便,但是有几个缺点,例如,如果您旋转一个窗口,则会注意到反射破裂,这是因为反射探针生成的立方体贴图(360°图像)仅具有固定旋转。