伴跟着Games 103的推出,十分欢喜地看到越来越多的学生群体和活泼在前沿的业内人士开始注重“根据物理的计算机动画”技能在游戏开发中的运用,开发者也不再局限于经过序列帧或许Flowmap的方式去模仿流体现象,而是根据实在的流体力学还原其运动规则。另一方面体积烘托,无论是云,仍是雾,做为游戏美术添彩的重要一笔,亦或是彰显技能实力的重要载体,也越来越高频地出现在咱们视界中。计划优秀,作用上乘,运转高效,编辑器友好的体积解决计划是任何一款现代游戏引擎中十分重要的组成部分。当然,关于游戏开发者而言,咱们时间面临着“可交互速率运转”的检测。这直接导致了简直每一个落地的体积烘托或许流体模仿计划都有其有必要做出的割舍与牺牲,也都有其拿手应对的情形和有意躲避的难题。但是,尽管已经有一些剖析“体积烘托”或“流体模仿”的文章,但大多唯此一篇,缺少针对不同计划的纵向深入与横向比照;或受限于特定引擎渠道,缺少底层通用性理论的体系论说。现实是,截止到SIGGRAPH 2022,咱们依旧没有找到一套适应于恣意场景需求的体积云雾计划【仅限游戏范畴】。而实时背景下将“体积烘托”与“流体模仿”结合起来,依旧是一个十分小众的话题。至于体积的焚烧进程与爆炸模仿仍然是影视“一家独唱”。但无论怎么,实时、体积、流体三个词融在一起都是令人无比神往的,由于许多时分并不是项目需要推动了技能进步,而是技能进步带来了新的玩法与新的艺术体现方式。

鉴于此,笔者决定维护一个专栏用于体系性的剖析当前与潜在的“体积流体”计划,它们中的一些冷艳于SIGGRAPH与GDC,并在游戏开发史上留下了浓墨重彩的一笔,别的一些尽管小众,但切入点与思考方向十分有价值。假如读者之前有触摸过这些工作,就会意识到这是一个触及数据的生成,存储与转换,算法的设计与优化,视觉表达与内容办理,以及引擎和东西链开发的庞大内容,当咱们站在产品项目办理周期的视角去考虑,会发现咱们最经常评论的3D噪声纹路与Ray marching其实仅仅整个体系的一小部分。除了传统的手法,伴跟着机器学习MLP对数据、信号的解构与重建的研讨,利用神经网络压缩数据,加速访问与碰撞检测的测验也逐渐遭到了工程界与学术界的注重,这好像为解决一些传统困境供给了或许。除了已被落地证实的稳健计划,这些潜在的研讨价值也会被归入评论规模。

在流体计划层面,咱们或许更着重评论欧拉视角,或以Stable Fluid为代表的半拉格朗日办法,以及MLS-MPM等混合办法。这全然是由于咱们需要面临的是云、雾、烟、火焰这类的介质 ,而非液体。更为杂乱的多相流问题,好像在游戏中运用的或许性不大,但假如有时间,追加这部分的研讨也是十分让人振奋的。一旦咱们将视角放开到影视范畴,对物理规则的还原将变得愈加苛刻,虚拟国际也愈加实在!

作者Angelou.lv:技能美术

现在国内某头部游戏厂商做TA,主攻图形烘托与物理模仿。


目录

1|实在云现象的研讨

2|《Horizon Zero Dawn》的体积云景完成

3|《西部禁域》中的体积云烘托

4|Unreal中的体积云景完成剖析


本篇转载自《游戏中的体积流体技能》的第1节。

鉴于渠道编辑约束,以下色彩信息无法体现,欢迎有兴趣的小伙伴致原文阅读。

文中会对一些名词进行色彩标示:绿色是计划中比较重要的专有术语,蓝色是维基百科上能够检索到的术语,橙色表明目录。

注:蓝色文字且加下划线表明加了超链接。

一、云族谱

1.1 云属

依照国际气候安排的分类[1],云一共有10个属:

游戏中的体积流体技术

云的10个属

每属均有自己的简称和调查特征,这10个云属依照高度散布如下:

游戏中的体积流体技术

云层散布(全称)

游戏中的体积流体技术

云层散布(简称)

游戏中的体积流体技术

上图内容大致是云的种类由低到高别离为【低云族】“积云(Cumulus),积雨云(Cumulonimbus),层云(Stratus), 层积云(Stratocumulus)”;【中云族】“高积云(Altocumulus),高层云(Altostratus),雨层云(Nimostrartus)”;【高云族】“卷云(Cirrus),卷积云(Cirrocumulus),卷层云(Cirrostratus)”。

大多数云都仅存在于它们的层面内,但一般界限比较含糊。比如高层云一般归于中间层,但它的顶部往往可延伸至更高的层面,而雨层云尽管位于中层云最高层但也可延伸至别的两个层面,积云和积雨云一般在低层,但积雨云的笔直规模又很大。

云层的大约散布规模在600~8000米,而烘托上影响云的视觉体现主要有“形状,结构,灰度,透光程度”这四个主要要素。

游戏中的体积流体技术

每个层面的近似高度&每个层面中出现的属

1.2 云种

根据云的形状和其内部结构,大多数的云属可被细分为云种,如毛状云(Ci),钩状云(Ci),密云(Ci)都是卷云,但形状又有不同:

游戏中的体积流体技术

又如堡状云(Ac),絮状云(Ac),层状云(Ac)都归于高积云:

游戏中的体积流体技术

再如扁平云(Cu),中云(Cu),彤云(Cu)都归于积云:

游戏中的体积流体技术

1.3 云类

除了依照形状与内部结构分,也能够依照云的别的两种重要特点——灰度与透光程度去分,被称为不同的云类:

游戏中的体积流体技术

别的除了“形状,结构,灰度,透光程度”这四个主要特征,云还有附加特征与附特点,前者是指附着在云上或许部分主体兼并的特征,后者则侧重于伴随云主体出现在邻近的小云团,它们被称为隶属云。云是在不断改变的,母云会演化出不同的衍生云,跟着主体逐渐改变,母云本来的特征或许彻底消失不见,此刻的云被称为“转化云”。

除了天然演化,人类活动也会影响上空的云改换,比如核电站冷却塔,大坝上空,飞机航线上,这些特别要素发生的云被别称为“特别”:

游戏中的体积流体技术


二、低云族

2.1 积云(Cu)

游戏中的体积流体技术

积云是距离地表最近的,因而也是密度最大的,依照第一部分云的四个主要特性的维度去剖析:积云具有最明晰的轮廓,上部分相似花椰菜或山丘,底部则相对较平,这些云被阳光照射部分多为白色,底部相对较暗,这能够用Beer-Lambert定律解释。典型的形状如下:

游戏中的体积流体技术

图为:浓积云正在蒙特勒后面的瑞士阿尔卑斯山脉和瑞士日内瓦湖沿岸开展

当然这是最典型的,这种厚重的积云往往出现在沿海城市,由于更容易有水蒸气升腾,它们被细分为一个云种——浓积云(Cu con)。关于浓积云来说顶部一般以”塔“的方式笔直开展,塔太高被风吹过时会分裂,从而构成丰富的衍生云,浓积云会发生诸多方式的降水:降雨,降雪,极点气候下还会发生冰雹。

游戏中的体积流体技术

图为:西班牙巴塞罗那Vallvidrera

但积云纷歧定会发生降水,在内陆区域,水蒸发量会少许多,这个时分它们的密度相对较低,笔直规模变窄,导致看起来相对扁平,这是积云属的一个特别云种——淡积云或扁平云:

游戏中的体积流体技术

图为:淡积云

跟着含水量逐渐升高,积云变得越来越重,越来越厚。逐渐变为中积云(Cu med):中积云也具有一系列明晰的轮廓,云底相对较暗,云层只体现出恰当的笔直开展,顶部一般有“小突起” 或许“云芽”,也没有降水。

游戏中的体积流体技术

图为:德国爱尔福特区域上空的中积云

但中积云有必定程度会开展为浓积云。别的还有一种积云种叫“碎积云(Cu fra)”:云底同样是水平的,改变十分敏捷,笔直规模很小,外观扁平:

游戏中的体积流体技术

图为:蒙古赛音山达的碎积云

2.2 积雨云(Cb)

游戏中的体积流体技术

积雨云一个十分典型的特征是:有相当大的笔直规模,出现高塔或高山状,且其上部至少有一部分一般是润滑平缓的,而在下部一般则较暗且粗糙,整体一般为“砧状”,具有显着的纤维状结构。

游戏中的体积流体技术

图为:西班牙昆卡的积雨云

2.3 层云(St)

游戏中的体积流体技术

图:留意左下角山峦间的云

层云好像没什么显着的视觉特征,形状上相对均匀,色彩为灰色,透过云看太阳时会发生明晰的轮廓,在诸多的层云种里最显着的是“波状层云(St un)”:一层层的鳞片状,每层云片具有波浪状结构。

游戏中的体积流体技术

图为:德国巴特克罗伊茨纳赫县的波状层云

2.4 层积云(Sc)

游戏中的体积流体技术

图:貌似有些图文不符

游戏中的体积流体技术

图为:澳大利亚,维多利亚州,布罗德梅多斯

层积云灰色偏白一些,卷状或大型圆形物质以延伸的片状或层状摆放。


三、中云族

3.1 高积云(Ac)

游戏中的体积流体技术

高积云一般成絮状,有时呈纤维状,一般带有暗影。上图与下图别离展示了层状,絮状高积云两个云种。

游戏中的体积流体技术

图为:日本,京都,右京区,嵯峨天龍寺造路町

别的一类特别的高积云种——“卷滚高积云(Ac vol)”,这是一种“较长,水平,别离,管状”的云团,由于看起来像绕水平轴缓慢翻滚,所以被称为“卷滚高积云”。

游戏中的体积流体技术

还有一类高积云种比较特别,由于它们形状上呈荚状或杏仁状,细长且有明晰的轮廓,结构上像多层云片严密叠加在一起,层与层之间有显着的暗影,被称为“荚状高积云”。

游戏中的体积流体技术

图为:英国,西约克郡,沃夫河谷山脉背风面上空构成的荚状高积云

堡状高积云是指由一起底部相接的云元素笔直上升的积云状云堡,具有如下特点:

  • 好像是依照线型摆放
  • 让云出现出锯齿状(城堡城垛)外观
  • 其高度有时分比宽度要大
  • 从侧面看云时尤其显着

游戏中的体积流体技术

图为:大不列颠及北爱尔兰联合王国德文郡埃克塞特的堡状高积云

3.2 高层云(As)

游戏中的体积流体技术

高层云的典型特征是悉数或部分掩盖天空,云的形状自身而言一般为片状,结构较为均匀且有十分薄的部分,高层云不会发生光晕。这种云属由于外观与内部结构十分一致,所以没有特别的云种。

3.3 雨层云(Ns)

游戏中的体积流体技术

色彩上雨层云一般为黑色,偶尔为灰色,云层一直十分厚。


四、高云族

4.1 卷云(Ci)

游戏中的体积流体技术

卷云有十分显着的结构特征——白色细腻的弯曲丝线状并排在一起构成窄带,厚度上十分的轻薄。

游戏中的体积流体技术

图为:大不列颠及北爱尔兰联合王国伯克郡接近雷丁的Stratfield Mortimer

卷云属有许多的云种,例如毛卷云(Ci fib),钩状卷云(Ci unc),密卷云(Ci spi),堡状卷云(Ci cas),絮状卷云(Ci flo):

游戏中的体积流体技术

图为:澳大利亚,维多利亚,莫迪亚勒克的毛卷云

钩状卷云形状像逗号,最终以钩子或簇绒的方式停留在顶部:

游戏中的体积流体技术

密卷云是块状的,单一块内散布较为密布,面向太阳的方向为灰色,一般在积雨云的上部构成。

游戏中的体积流体技术

图为:泽西岛圣布雷拉德的密卷云

关于密度较大的卷云,从一起云底生成圆形和纤维状的堡状云或云团,有时具有圆孔状外观,或带有小圆塔或齿状物,整体是白色的,没有底部暗影。这种卷云被称为“堡状卷云”。

游戏中的体积流体技术

图为:西班牙马德里

4.2 卷积云(Cc)

游戏中的体积流体技术

卷积云的形状与结构也十分好辨认,它们看起来是一片轻薄,松懈的,由无数颗粒或波纹式小型元素组成的集合体。

卷积云也分为许多云种,包含:“成层卷积云(Cc str),荚状卷积云(Cc len),堡状卷积云(Cc cas),絮状卷积云(Cc flo)”。

成层卷积云相对较大的片或层方式的卷积云,有时存在断层。

游戏中的体积流体技术

图为:澳大利亚,维多利亚州,阿斯彭代尔花园的成层卷积云

荚状卷积云形状为荚状或杏仁形的卷积云片,一般较为细长且有明晰的轮廓,大多十分润滑,色彩很白。

游戏中的体积流体技术

图为:西班牙瓦伦西亚塞拉的荚状卷积云

在卷积云里,其间一些元素以小型堡状的方式笔直开展,从一起的水平底部升起,构成堡状卷积云。当从高于地平线30以上的视点观测时,这些堡状云的表观宽度一直小于1。堡状云因该高度的不安稳性而开展。

游戏中的体积流体技术

图为:德国巴特克罗伊茨纳赫县

十分小的积云状的云簇,其下部或多或少是不规则的。当从高于地平线30以上的视点观测时,每个云簇的表观宽度一直小于1。絮状云因该高度的不安稳性而开展。絮状卷积云有时是由堡状卷积云开展而来:

游戏中的体积流体技术

4.3 卷层云(Cs)

游戏中的体积流体技术

透明、白色的、纤维状(头发状)或润滑外观的云巾,悉数或部分掩盖天空,经常发生光晕现象。一般可细分为“毛卷层云(Cs fib),雾状卷层云(Cs neb)”。


五、地势与气候对云的影响剖析

地势气候要素影响了云的生成,形状,这些相互相关的机理在构建宏大气候体系,特别是追求物理的气候改换时尤为重要。Andrew Schneider在SIG 2015与2017中给出了他们的解决计划,介绍了地势气候,时间以及剧情体现怎么影响云景的生成与调度,咱们会在下一节进行介绍。

总结性的规则是,当气流穿过山沟,丘陵或山脊时会遭到妨碍影响而被逼抬升——“地势抬升”,至于抬升的气流是否能构成云还与空气安稳性,水汽含量与温度散布有关,白日温度较高空气也会升腾,假如含水量较高且空气相对安稳,则升腾的水汽会在高空冷凝构成云。因而云的构成受地势抬升与热抬升的一起影响。

游戏中的体积流体技术

常见的地势云的云属是积云[中积云,碎积云,淡积云,特别显着的浓积云一般不好直接经过算法完成],层云和高积云,因而这三类云也是要点模仿的。

游戏中的体积流体技术

Reference:

[1] 国际气候安排对云的分类 : cloudatlas.wmo.int/zh-hans/pri…

[2] Jack Miller对云和气候现场的延时摄影作品《海风》:vimeo.com/user4463840…


以上便是《游戏中的体积流体技能》的第1节,此篇文章比较合适对体积烘托与流体计划的完成有需要的引擎、TA、对相关内容感兴趣的学生以及其他范畴的开发人员与教育工作者。

读彻底篇后你会取得:

1、体系的体烘托常识,游戏范畴可用的流体动力学完成;

2、PC端与移动端的体积云、雾完成;作用与功能的把控,各类优化手法与移动端平替计划;

3、硬件常识,图形剖析东西的运用,引擎烘托管线的定制;

4、学科穿插的机器学习理论常识与在游戏引擎中进行机器学习练习的办法。