风来时狂放 发表于 2020-12-21 10:04

图文翻译 | houdini河流景观模拟











1介绍

我叫Thilo Seifert,是一名3D艺术家。我是在11或12岁时接触3D,从那时起,我就对3D技术着迷。由于缺少提供3D / VFX领域专业教育的大学,所以我在大学学的是交互设计专业,当然,这个专业对我后来进行VR开发很有用。在校期间,我还首次接触了Unreal Engine。现在,我在TimeRide担任技术美术已经三年了。




2项目的目标

这个个人项目《Braided》开始于TimeRide的上一个项目期间,当时我负责创建景观,然后我想知道如果没有VR的硬件限制,自己能够在模拟现实方面做到什么程度。




3河床

由于初始规划的项目面积有32平方公里,所以我想找到一种快速制作迭代河流景观的方法。

正好Houdini有一项称为HeightFields的功能,该功能允许使用2D体积创建地形。以前我曾经有过一些经验。Houdini允许您模拟地形侵蚀,这很棒,但就我而言,我想使用一种更直接的方法,不想花费数小时进行模拟。以下是我使用的方法。
先创建了一条简单的曲线,然后进行sweep,形成河面。




然后将其扭曲多次,并将结果重新组合在一起。制作辫子状的效果。




然后通过扭曲以及模糊扩大河面mask的范围,制作出河岸侵蚀的效果。




接着,使用HeightField的“ FlowField”功能配合一点点侵蚀(仅3帧),来生成其他细小的水域。最后将整个河流重新映射为平面,以获得河面的mask。




最后,为河床和河岸重新创建mask,增加更多细节。




整个过程都可以通过参数控制,所以只需改变一些参数即可轻松调整整个河流。




4植被

对于树木的放置,我尝试了不同的技术,最终使用UE4中的程序性植物生成盒配合一些植物笔刷。程序性植物生成盒参数不太好控制,经过反复试验,最终也获得了不错的结果。
5地形材质

地形材质就是将草,泥,岩石和雪层混合在一起,属于常规做法。








雪也根据坡度进行混合。由于拍摄时相机距离较远,雪是唯一有位移效果的材料。我使用了WorldAlignedBlend函数的Alpha输出,因为vertexNormalWS不适用于位移。


http://pic1.zhimg.com/v2-92dedc394dbf8f553f776ae3a45bf4bc_r.jpg

6河面材质

河流的模型只是一个面片,通过不同的技术来伪造体积,深度,泡沫和水流。




通过景深和像素深度实现的浅水和深水混合,以及河面与河床平滑融合。对于浅水部分,我使用SceneTexture_Basecolor通过法线贴图将基础材质与UV混合在一起,以伪造光线的折射。




通过添加第三种颜色配合深度淡入以及noise贴图模拟河流中有雾或较深的部分。








使用相同的方法,处理对于水边结冰部分,这里使用了两种杂色混合颜色来制作冰雪。




最后在深水区域添加泡沫纹理,以增强河流的视觉效果,添加一些细节。




7照明和大气效果

对于天空,我使用了trueSky插件,该插件非常易用且效果好,灯光是完全动态的。我使用了级联阴影贴图和距离场阴影的组合来制作阴影。
8雾

在此项目中,我使用了很多雾面效果。由于我还想在与相机交互的区域产生一些雾气,因此我创建了多个基于粒子的雾气生成器。粒子系统非常简单,主要通过着色器模拟雾气运动。








这种基于粒子的雾看起来很不错,很适合我的需求,但是我要填补的空间很大,因此我决定使用相同的技术制作自定义的“ Heightfog”。
我在世界位置的红色和绿色通道中绘制雾/噪点纹理,以确定雾在空间中的位置。然后添加世界位置的蓝色通道以更改垂直空间中的值。








- End -
页: [1]
查看完整版本: 图文翻译 | houdini河流景观模拟