Notifications
Article
创作经验 | 使用Unity创建高保真建筑VR项目
Published 16 days ago
52
0
本月初,我们分享了Oneiros工作室使用Unity开发的VR项目演示。这或许是我们见过最精致的Unity场景之一,该项目具有出色的光照效果,漂亮的材质,优秀的雨水,苔藓的效果以及脏镜头处理,这些元素让该项目的VR体验出类拔萃,效果更为逼真。
Oneiros工作室使用Unity开发的VR项目演示
今天将由Oneiros工作室的Mirko Vescio分享在使用Unity创作该项目的创作经验。
请注意:受微信端展示视频清晰度限制,本文中我们将项目中的场景使用图片进行高清晰度的展示,你也可以访问腾讯视频客户端观看:http://t.cn/EPDPTQp

资源下载

如果你想仔细研究这个细节丰富的斯堪的纳维亚风格房屋,可以访问Asset Store资源商店购买并获取场景资源包。
场景经过了高度优化,非常适合制作流畅的沉浸式VR体验。你可以在自己的项目中重用该资源包中的资源。
ArchVizPRO Interior Vol.6下载
本文演示项目下载地址

演示项目

开发虚拟现实体验的演示项目时,我们做的第一步是找到灵感的合理实现。
我们从最新演示项目ArchVizPro Vol.6开始,通过修改它并加入一些个性化改动。项目中遇到的挑战都是开发虚拟现实体验所常见的。
这个项目没有后期制作。几乎所有内容都必须在3D环境完成,所以无法仅仅展示特定内容,用户会选择自己的关注点。因此找到整个场景中细节和优化之间的适当平衡尤为重要。

技术选择

通常情况下, Unity作为实时渲染引擎有更大的灵活性。
在获得技术支持方面,Unity有大量在线资源和优秀的文档,所以在使用Unity过程中遇到的问题几乎都能找到解决方案。
但是寻找使用Unity开发的优秀建筑可视化场景并不容易。人们常说Unity最出名的是移动平台的作品,或者认为Unity无法制作逼真的图像效果,但这种观点是错误的。Unity在自身的改进上做出了很多努力,而出色的演示项目《死者之书》便是这一切的证明。
制作过程会根据项目具体需求而发生变化,以最新演示项目为示例,我们所做的第一步是将工作流程划分为单个资源和环境的制作。
资源的创建过程是常见的标准过程。我们首先对高多边形网格进行建模,然后制作网格的低多边形版本。完成3D建模后,最后一步是使用Substance制作PBR材质。
创建环境的成员不仅要处理3D建模和制作着色器,他们还要管理Unity中的场景以及在3ds Max中检查环境的3D模型,并在Unity中检查光照,从而避免出现错误和瑕疵。
此外,还必须处理界面和代码部分,实现VR体验中的交互性和其它需求。
关于开发VR体验和制作游戏场景的不同,首要考虑是帧率问题。
对于游戏而言,帧率只要在30~60 fps之间即可,但是对VR而言,最好能保持在75~90 fps之间。细节丰富和舒适感是VR体验的基本要求。

植被

在实时引擎中创作植被是一个巨大的挑战。实现逼真效果的过程非常复杂,需要在大量多边形和真实性之间找到合适的平衡。
我们项目中的植被使用不同软件来处理,并经过了多次测试。首先,我们处理在3ds Max中使用了Guruware ivy Generator插件制作的3D模型,对大量几何体进行优化。
准备好低多边形模型后,使用Substance Designer烘焙该模型,绘制顶点颜色,然后使用Vertex Motion制作最终的着色器。
对于苔藓材质,我们使用Substance Designer进行制作。

雨水

雨水效果则是VR中一项非常艰巨的挑战,雨水效果可以分为多个部分:雨水本身、雨水在地面溅起水滴的效果和雨水落到窗户的效果。
雨水本身使用Unity Shuriken粒子系统进行制作,雨水溅起效果需要通过更复杂的工作流程来处理。
我们首先在3ds Max中制作粒子模拟效果,在Substance Designer制作地面的纹理,然后开发自定义着色器Parallax Occlusion Mapping 和Flipbook。
雨水落到窗户的效果是使用3ds Max的粒子模拟功能制作的,目的是获得帧的序列。
平铺和调整需要在After Effect中处理,我们使用VFX Toolbox制作Flipbook 8*8的纹理,最后制作自定义折射着色器。

后期制作

使用线性颜色空间能得到更自然的光线,但会使画面变得更像平面。为了弥补这个缺陷,使用颜色分级非常重要,该功能可以增加图像反差并平衡阴影和高光。
在此过程中使用正确的PBR值非常重要,这样能够获得正确效果的材质。我们还需要避免让反照率变得完全黑色或白色,这是PBR工作流程中最常见的错误之一。
要重视眼睛适应效果,让体验者“感受到光线”。
处理优化时,第一步是优化所有几何体,避免出现多边形过多的网格。
整个几何体优化完成后,必须避免过多的绘制调用,可以的话,请使用烘焙后光线。使用遮蔽剔除也是提升Unity场景帧率的一个技巧。

小结

Oneiros工作室使用Unity创建高保真建筑VR项目创作经验就分享到这里,希望能对正在进行VR项目的开发者带来帮助,本文提供了资源以及演示项目下载,所以大家可以自行进行研究。
更多Unity项目创作惊叹分享尽在Unity官方中文论坛(UnityChina.cn)!

Unity China
348
Comments