伴随着Games 103的推出,非常欣喜地看到越来越多的学生群体和活跃在前沿的业内人士开始重视“基于物理的计算机动画”技术在游戏开发中的应用,开发者也不再局限于通过序列帧或者Flowmap的方式去模拟流体现象,而是基于真实的流体力学还原其运动规律。

另一方面体积渲染,无论是云,还是雾,做为游戏美术添彩的重要一笔,亦或是彰显技术实力的重要载体,也越来越高频地出现在大家视野中。方案优秀,效果上乘,运行高效,编辑器友好的体积解决方案是任何一款现代游戏引擎中非常重要的组成部分。

当然,对于游戏开发者而言,我们时刻面临着“可交互速率运行”的考验。这直接导致了几乎每一个落地的体积渲染或者流体模拟方案都有其必须做出的割舍与牺牲,也都有其擅长应对的情景和有意规避的难题。

虽然已经有一些分析“体积渲染”或“流体模拟”的文章,但大多唯此一篇,缺乏针对不同方案的纵向深入与横向对比;或受限于特定引擎平台,缺乏底层通用性理论的系统论述。现实是,截止到SIGGRAPH 2022,我们依旧没有找到一套适应于任意场景需求的体积云雾方案【仅限游戏领域】。而实时背景下将“体积渲染”与“流体模拟”结合起来,依旧是一个非常小众的话题,至于体积的燃烧过程与爆炸模拟仍然是影视“一家独唱”。

但无论如何,实时、体积、流体三个词融在一起都是令人无比憧憬的,因为很多时候并不是项目需要推动了技术进步,而是技术进步带来了新的玩法与新的艺术表现形式。

鉴于此,笔者决定维护一个专栏用于系统性的分析当前与潜在的“体积流体”方案,它们中的一些惊艳于SIGGRAPH与GDC,并在游戏开发史上留下了浓墨重彩的一笔,另外一些虽然小众,但切入点与思考方向非常有价值。如果读者之前有接触过这些工作,就会意识到这是一个涉及数据的生成,存储与转换,算法的设计与优化,视觉表达与内容管理,以及引擎和工具链开发的庞大内容,当我们站在产品项目管理周期的视角去考虑,会发现大家最经常讨论的3D噪声纹理与Ray marching其实只是整个系统的一小部分。除了传统的手段,伴随着机器学习MLP对数据、信号的解构与重建的研究,利用神经网络压缩数据,加速访问与碰撞检测的尝试也逐渐受到了工程界与学术界的重视,这似乎为解决一些传统困境提供了可能。除了已被落地证实的稳健方案,这些潜在的研究价值也会被纳入讨论范围。

在流体方案层面,我们可能更着重讨论欧拉视角,或以Stable Fluid为代表的半拉格朗日方法,以及MLS-MPM等混合方法。这全然是因为我们需要面对的是云、雾、烟、火焰这类的介质 ,而非液体。更为复杂的多相流问题,似乎在游戏中应用的可能性不大,但如果有时间,追加这部分的研究也是非常让人兴奋的。一旦我们将视角放开到影视领域,对物理规律的还原将变得更加苛刻,虚拟世界也更加真实!

课程现已免费上线UWA学堂>>

https://edu.uwa4d.com/course-intro/1/499

课程目录如下:

1. 真实云现象的研究

2. 《Horizon Zero Dawn》的体积云景实现

3. 《西部禁域》中的体积云渲染

4. Unreal中的体积云景实现分析

适合读者

1、对体积渲染与流体方案的实现有需要的引擎、TA

2、对相关内容感兴趣的学生

3、其他领域的开发人员与教育工作者

1、系统的体渲染知识,游戏领域可用的流体动力学实现

2、PC端与移动端的体积云、雾实现;效果与性能的把控,各类优化手段与移动端平替方案

3、硬件知识,图形分析工具的使用,引擎渲染管线的定制

4、学科交叉的机器学习理论知识与在游戏引擎中进行机器学习训练的方法

近期精彩回顾