微信号:Unity-GreaterChina

介绍:Unity官方开发者平台,分享最前沿的技术文章和开发经验,精彩的Unity活动和社区相关信息.

使用Unity的反射探针制作伪内饰效果

2018-10-31 12:12 Unity

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


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


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

https://github.com/Anthelmed/unity-fake-interior-effect


首先,我们使用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,它可以将内部房屋模型的反射探针复制到所有窗户上。

 

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


                                            

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




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


使用Unity的反射探针制作伪内饰效果的教程就分享到这里,更多Unity教程请访问Unity官方中文论坛(UnityChina.cn) !


推荐阅读

官方活动

优惠活动|Unity订阅新起航,开启您的创作之旅

现在访问Unity在线商店(store.unity.com),成功订阅Unity Pro专业版、Unity Plus加强版即可享受全新增值服务组合。11月18日之前订阅,更有指定插件资源限时赠送。[了解详情...]

活动地址:https://store.unity.com/cn


点击“阅读原文”访问Unity官方中文论坛

 
Unity官方平台 更多文章 Unity FPS示例项目介绍 使用粒子实现Logo消融效果 Unite LA精彩回顾:Visual Effect Graph、CineCast和FPS&nbs 创作经验 | 使用Unity创建高保真建筑VR项目 全新变现解决方案Unity Monetization SDK 3.0
猜您喜欢 阿里技术参考图册(附下载链接) 从数据迁移到处理旧 iPhone ,这份换机指南都帮你想好了 4个误区:由「技术岗」转「管理岗」小心避开 内存虚拟化技术介绍之---内存去重 开源Cillium项目为容器提供强大的网络功能