【转载】使用Unity的反射探针制作伪内饰效果
手机游戏引擎手游引擎Unity3D技术地编场景制作3D场景
显示全部 10
4738 3
实名

通过了实名认证的内容创造者

发布于 2019-11-21 13:08:46

您需要 登录 才可以下载或查看,没有账号?注册

x
如果你玩过或看过最新的《漫威蜘蛛侠》游戏,是否想知道游戏中的室内效果是如何实现的?

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





本文项目及资源下载地址

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



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

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



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



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



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

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



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



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

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



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



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



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



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



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

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



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

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



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





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





评分

参与人数 2元素币 +40 活跃度 +10 展开 理由
元素界王神... + 30
源支始 + 10 + 10

查看全部评分

使用道具 <
小妹  发表于 2020-1-10 09:47:16  
2#
想要成大触,天天上元素
回复 收起回复
使用道具
不知  发表于 2020-12-2 17:57:44  
3#
666
回复 收起回复
使用道具
不知  发表于 2020-12-2 17:58:10  
4#
尝试一下  看着不错
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表