走进Siggraph 2019……

Siggraph 2019论文技术解析 来自深夜小编 CG文章_CG资源

走进Siggraph 2019……

*文章授权转自微信公众号「CG世界」

文/索菲亚·嘟胖


没错!今天的内容还是和Siggraph2019有关。

说起“模拟植被”,就是怎么样通过软件或者插件来制作真实自然景观,森林树丛花花草草等视觉效果,大家脑子里应该噔噔蹬蹬自动弹出了很多种应用程序,因为用于高效建模和渲染大规模植被的方法是在太多了,比如Speedtree、Carbon Scatter、Lumion,还有咱上周刚介绍过的FlowScape,只是大多数都逃不开手动这个事。

在Siggraph2019大会上,波兰最大学术中心之一波兹南密茨凯维奇大学的Milosz Makowski和 Wojtek Palubicki 、Google Brain团队的Sören Pirk、沙特阿卜杜拉国王科技大学的Dominik L. Michels、Jan Scheffczyk和Torsten Hädrich这5位专业研究人员发布了一篇名为《 Synthetic Silviculture: Multi-scale Modeling of Plant Ecosystems》(综合造林:大规模植物生态系统的多种规模建模模拟)的论文,在视觉计算领域中模拟自然现象,重点研究植被模拟和交互方式。所以这5位研究人员强强联手研发出的Synthetic Silviculture到底有啥过人之处?
 
原来,他们基于当前硬件限制,开发出一种模拟生态系统的技术,可以在较高视觉保真度和生物学原理的基础上有效地模拟大型植物种群的增长,同时为艺术家提供轻松便捷的操作体验。论文链接就在下面了,有精力的同学可以自己啃,想要节省时间的话,接下来咱们就一起看。
http://www.pirk.info/papers/Makowski.etal-2019-Synthetic-Silviculture.pdf
http://www.pirk.info/papers/Makowski.etal-2019-Synthetic-SilvicultureSup.pdf

▲精选各种植物生成的模型。

程序性生成的世界

正式开始之前,咱得来介绍一下由育碧制作的第一人称射击游戏《孤岛惊魂5》(Far Cry 5 ),游戏中生成整个世界的程序性方式用的是植物的粒子系统来模拟生态系统。


 
一开始代表着每个单独植物的粒子分散在环境中,然后生态系统会根据每种植物类型的基本特征(比如生长速率、对环境的敏感性、特定范围内植物的相互作用、新型植物的播种模式等)进行生成和扩展,最后就可以把已经在建模工具中完成预制生成的每个植物资产放置在相应的位置上。重点是,你得手动放才行。
 
对于处理像近距离薄薄一层草这种细节程度较高的精确复制或者小型动画,有人想出了用其他东西来替代绘制几何体的方法,确实挺好用的。但是涉及到大型结构就不得不从某个位置把替代物切换成实际的3D几何体。由此会带来两个问题,一个是过渡不够平滑自然,另一个是改变了对象的覆盖范围,产生的阴影就会特别明显。

Synthetic Silviculture的方法

说这些有什么关系呢?与基于粒子的程序性方式相比,Synthetic Silviculture模拟生态系统从一开始就考虑到了植物结构,核心思路利用植物内部和植物之间的相似性来模拟多种不同规模的植被,特别是利用到了单个植物、多种植物和不同种类植物之间都拥有相似分支结构的这个事。


▲通过选择温度和降水值可以生成其他生物群落。

他们将分支结构的拓扑定义为与植物无关的模块原型,在最开始生成一组模块原型,将其放置在一个称为morphospace的特殊参数空间中。这个参数空间涵盖了我们在自然界中可以看到的所有特征分支模式,模块原型就用作模板,把模拟过程中形成植物结构的分支模块给他实例化。
 
用户可以根据时间的变化升级分支模块,或者是修改和添加。原型模板可以重复使用,因而通过少量的原型就能模拟植物,代替了创建单独分支结构模型的繁琐方式。用户通过分支模块的实例渲染可以实时得到大片的植被效果,并且任何一个阶段都能看到植物的几何体形状。
 
使用分支模块模拟植物的另外一个好处就是能细致地捕捉到植物与环境的相互作用,保证每个植物都能生长出其独立的分支结构。比如参天大树会覆盖它的下层植物,如果是耐阴性较差的植物就没法生长了,甚至连成活都是问题。
 
作为一种非常精细的方法,用户可以使用分支模块拓扑来创建分支几何体,用作阴影中的圆锥形状,使其分辨率与距离成比例地动态调整。这样就能避免细节处使用其他代替物作假而产生的跳帧瑕疵了。

▲交互式模拟工具截图,左图为生态系统层面使用温度和降水等环境参数(左图),对于每种植物类型,设置可塑性参数来反映与环境的相互作用(右图)。
 
生态系统生成

生态系统生物群落通常以温度和降水为主要特征。


低降水量和低温度会产生苔原,高降水量和高温度会产生热带雨林,此外还有温带草原、亚热带沙漠、灌丛、针叶林、温带季节性森林、稀树草原和温带雨林。


研究人员假设整个模拟过程中的降水量是恒定的,温度则取决于位置海拔。他们为每个物种定义了对温度和降水的敏感性,系统根据这些能自动计算出生物群落中出现某种植物的概率,生成这9种生态系统主要类型。



植物的生长情况是通过整株植物的积累光量来计算的。研究人员采用全局阴影的方式来定义光线遮挡,计算出了分支之间的交叉点来模拟植物生长对于占用空间的竞争。另外一个影响植物生长的最重要因素是生物的向性反应,比如对光的反应(向光性)和对引力的反应(向地性)。此外植物与植物、植物与障碍物之间的碰撞阻碍也会抑制其生长。

▲植物模拟俯视图。由于可塑性参数的改变出现了不同的森林模式:较小的播种半径(上行)和较大的播种半径(下行)。(a)-(b) stol值较小;(c)-(d) stol值较大;(e)-(f)由于衰老而出现的间隙和斑驳;(g)-(h)两个物种的可塑性参数设置残生不同的植物分布
 
放到流程中

在论文和前面的补充视频中,研究人员展示了交互框架中的渲染结果以及houdini离线渲染的效果。感兴趣的小伙伴别忘了返回去自行查看哈。

▲由大约5千株植物模型和三种植物类型(灌木、针叶木和落叶木)组成的正在生长的生态系统时间演变效果。假设在冰河期之后模拟没有植被的山地环境。(图a)在所有地形上快速生长的灌木(图b)长速很慢的植物模型开始在较低海拔覆盖灌木(图c)在低海拔位置出现针叶木和落叶木的混合树林(图d)分隔开的树林和只在山顶出现的冷适应灌木形成林木线(图e)针叶林中因群落衰老留下的空隙(图f)多种树木连城混合型森林

▲多种生物群落类型生长的生态系统。带有冷适应树木的苔原(图a),带有草和金合欢树的稀树草原(图b),由枫树组成的落叶林(图c),带有高大松树的北方森林(图d),种类繁多的雨林场景(图e)。利用植物内部和植物之间的相似性进行模拟,以交互方式生成复杂的生态系统。

针对于离线渲染,用户从应用程序中导出植被拓扑以及分支半径、叶子位置和植物种类等其他信息,将数据导入到Houdini之后,就会程序化生成分支几何体、叶子和草之类的部分。
 
研究人员在研发这项技术时考虑到了交互性,因此可以用它来制作游戏,省去了导入或者导出3D资产的过程,使用轻量级的植被会更提升制作过程的效率。只是在渲染时要对游戏引擎和自定义渲染器进行一些调整。

关于软件发布

到目前为止,这项技术的研究人员还没有公布具体框架,只是展示了生态系统建模方法的基本功能。至于接下来是不是要公布他们也还没确定,唯一可以肯定的是他们会继续把它作为一款独立软件工具进行开发,努力将这种技术集成到我们现有的建模软件当中。



欢迎关注作者的微信公众号:「CG世界」

加载中