导语:2019年11月22日,V社正式公布Steam平台独占游戏《半衰期:爱莉克斯》,当时问世不久的Valve Index仅在2019年便卖出了14.9万台,并且其中有10.3万台都是在最后三个月内售出。可以说,《半衰期:爱莉克斯》的出现直接带动了其硬件设备的整体销量。
正所谓群众的眼睛是雪亮的,一方面《半衰期:爱莉克斯》这款游戏继承了数不出3的经典神作《半条命》IP,另一方面Valve Index的问世为高端VR消费领域注入了新鲜血液。经典续作加黑科技热场,身为消费者的你我他也就只能真香预警了。
作为一款专门为VR设备而生的游戏,《半衰期:爱莉克斯》对“身临其境”的呈现可以说达到了新的水平。值得一体的是,就在前两天V社称为该游戏专门加入了拟真容器内液体流动的模拟机制,以此进一步提升其沉浸感。效果如下图:
实际上,对于任何游戏而言,物理形态模拟的细节刻画程度都是直接提升游戏沉浸感的加分项,而作为开发者要如何实现这些和现实世界一致的形态模拟呢?这正是今天我们探讨的话题。
从《半衰期:爱莉克斯》到液体着色器
从图片中我们可以看出,液体着色器呈现的液体形态拟真度极高,而实现这些的本质其实就是两个字“算法”。着色器(Shader)主要有顶点着色器(Vertex Shader)和像素着色器(Pixel Shader)两种,其在离线渲染领域已经出现了多年。
V社将实现《半衰期:爱莉克斯》中容器内液体拟真的技术称之为“液体着色器”,顾名思义,它就像是附着于3D模型(比如酒水的模型)之上的一件“外衣”,披上它的模型可以拥有和水一样的流动性。
一位着色器领域的资深从业者告诉VR陀螺,着色器本质上是一种可编辑程序,其替代了传统的固定渲染管线,可以实现3D图形学中的相关计算,由于其可编辑性,可以实现各种各样的图像效果而不用受显卡的固定渲染管线限制。
Unity Shader中两种模拟瓶中液体的方法
VR社交平台《极乐王国》创始人崔海庆认为:“液体着色器属于流体动画技术的范畴,其在游戏/影视领域的使用已经有段历史了,多年前的3D动画软件(譬如Maya、3D MAX之类),其引擎便已集成了Fluids流体动画功能,可以模拟逼真的流体效果,比如各种水、烟雾的流动,以及原子弹爆炸等效果,但实时渲染的效率是很低的,因此在游戏领域更多是由粒子系统完成(下面会说到)。”
Maya视窗实时渲染作品截图
崔海庆称:“早期,Maya改进并集成了Alias、Wavefront 先进的动画及数字效果技术,其在影视制作领域被广泛使用。后来,更是有影视团队有针对性地对引擎进行改进,这使得流体技术得到了进一步发展。流体动画之前主要集中在影视CG领域,随着硬件性能的飞跃,以及算法技术的不断提升,流体动画的实时渲染与模拟也逐步走向成熟,因此流体着色器在《半衰期:爱莉克斯》中的使用颇具代表性。”
由于流体技术对于运算性能有一定要求,这或许是我们并没有在《半衰期:爱莉克斯》中看到用该技术呈现江河湖泊场景的原因吧。
流体模拟:从唯一到有的选
如果说流体技术是“专注流体模拟”的姣姣者,那粒子系统则是游戏行业的“全能模拟冠军”。没错,粒子系统也可以模拟流体物质,只是相较流体技术而言略显逊色。
所谓粒子系统,我们可以想象成由较多小的单位颗粒模型组成的集合体,当较多颗粒通过算法实现互相之间的黏着、挤压和渲染时,便得以模拟出暴风雪、水流、爆炸、烟雾的动态效果。
崔海庆认为:“粒子系统和流体技术并不冲突,前者几乎可以满足绝大部分的游戏特效需求,而且技术成熟,效率很高,而后者则是对于粒子系统升级与补充,对于类似流体类的效果,比盛器里面的动态液体、流动的烟雾等,流体动画技术的刻画细腻度更高。从算法层面看,用粒子系统实现及其细腻的流体效果,需要十分复杂的算法作为支撑,性价比太低,与之对应的便是相较流体技术更多的算力需求。”
总的来看,流体技术对于流体模拟方面有着得天独厚的优势,但其应用范围还需要不断拓展,实时渲染的性能还需要不断的提升,我们才会在未来的游戏里面看到更多的炫酷流体效果,而粒子系统在流体之外的众多模拟场景下的使用效果出色,是已经很成熟的技术。
2018年8月,一款名为《Torn》的VR游戏出现在Steam上。令其区别于其他游戏的,是其采用了NVIDIA Flex来模拟《Torn》中的流体行为,以此为玩家提供一种全新的真实感体验。这款游戏的制造商Aspyr Media的开发人员Dave Prout讲述了如何用NVIDIA Flex来模拟《Torn》中的流体行为。
“FleX是NVIDIA推出的用于实时视觉效果的基于粒子系统的模拟技术。传统上,视觉效果是通过使用专门的求解器(针对刚体,流体,衣服等)创建的元素组合来实现的。因为FleX对所有对象类型都使用统一的粒子表示形式,因此可以启用新效果,使不同的模拟物质可以无缝地相互影响。这种统一的物理求解器是离线计算机图形世界的重要组成部分,其中广泛使用了诸如Autodesk Maya的nCloth和Softimage Lagoa之类的工具。”
也就是说,这是一套可以利用GPU的功能将这些离线应用程序的功能引入实时计算机图形的粒子系统工具。在VR游戏《Torn》中黑暗的游戏场景里随处可见手电光照射下的流体、布料以及气体,甚至当时有一位玩家发布推特称:“当看到水滴沿着我的脚边流淌而过,我真的很担心它们会弄湿我的脚。”
如今,FleX已成为优化和改善游戏世界的重要工具。正如当时NVIDIA对粒子系统模拟流体做出的改进一样,这次V社首次将流体技术引入VR游戏,让流体模拟多了一种可选方案。
崔海庆总结道:“《半衰期:爱莉克斯》的贡献在于,它首次将原有的离线渲染流体着色器转变为适合游戏引擎使用的实时化液体着色器输出端口,而这样的创新需要基于原有的离线领域着色器进行算法改进才能实现。液体着色器的使用,可以看做是V社对VR游戏做的一次创新性探索。但这并不表示流体技术就会取代粒子系统的地位。
下载「陀螺科技」APP
获取前沿深度元宇宙讯息