2077 城区
2.1.2 PDG
程序化生成是大世界工作流的核心,也是这几年所有游戏厂商都在研究的方向,这方面需要Houdini方向TA与LD、LA紧密合作。不了解的可以看看前几天unreal circle北京站的技术演讲。
通过噪声、平滑、模糊、约束、侵蚀、映射等等方法来创建地形高度图,把参数通过HDA开放到引擎中根据LD给的资料进行调整和美术加工。
在传统游戏制作方式中,材质层信息是由美术人员,通过UE4的材质层绘制(Layer Paint)面板中,通过控制笔刷在编辑器中手动绘制完成的,对于8*8km尺寸的世界来说手工效率太低,我们需要过程化的开发流程来进行快速高效的迭代,还能保证稳定的质量输出,过程化的工作流完全基于精确的数学建模来对指定风格的场景来进行生态学与美学上的解构与还原,在生态上有非常准确的描述更接近于现实大自然的规律。同时,需要支持手工修改,因为游戏始终是游戏,艺术存在偶然性、随机性、夸张性的成分,这种因素是过程化计算所无法表达的。
根据项目风格来绘制材质层MASK,一般有岩石层、碎石层、草皮层、泥土层,雪地层。
根据参考资料来制定各材质层的规则,比如草皮层:在角度为0度至13度的坡面下,草开始生长形成草皮层,但是海拔越高气温越低越不适于草的生长,到海拔500米开始草皮还是急剧衰减,海拔1000米后寸草不生。同时草是喜阳生物,在峡谷等阳光照射比较困难的区域,草长比较稀疏,反之比较茂密。
在绘制好材质层MASK之后,我们需要借助UE4强大的材质系统来对材质层信息进行视觉表达,需要设计一套材质框架来呈现以下特性:
- 基于视距的远近材质混合
- 基于全局的色彩多样性
- 基于高度信息的材质层混合
- 基于视距的地形曲面细分
- 基于层信息的材质过程
- 基于距离的视差贴图技术
接下来还有路网,植被,建筑等等,不过赛博朋克风格植被就比较少,群落也可以没有了。传统的马路有一万个理由无法满足大世界场景的需求,复杂的马路根本不可能拿模型去拼,或者用UE4自带的spline去拽,城市里的平地还好,野外的复杂地形也无法完美贴合,这时候又轮到Houdini出场了,根据样条线输入参数计算出完美的公路贴片,其包含了四套精心计算的UV空间来进行必要的路边线等必要材质表达支持,再利用 Runtime Virtual Texture(RVT)技术,由Houdini算法生成海量的贴花贴片、车道线贴片、车轮印记贴片、公路贴片等大量贴片,再由RVT将贴花一次性bake到地形材质上,因此能够支持海量的公路细节,极低消耗。