制图分享 | 十分钟带你掌握小众出效果的影视级地形制作流程


#01 创建工程并导入模型
本次制图流程将以UE(虚幻引擎)作为主要的制作工具。UE作为目前主流的游戏引擎之一,拥有非常强大的实时渲染能力,尤其是在UE5.0版本更新后其自带的Lumen和Nanite两大“黑科技”更是在兼顾性能的同时将画面效果提升到最大化。

小编这里使用的是5.1版本作为演示(需要注意虚幻引擎的文件只能由同版本或更高版本才能打开),因此如果想要预览本次工程文件素材的朋友也需要下载5.1及以上的版本~
首先在初始界面中选择“游戏”并创建一个空白工程(项目默认设置为蓝图即可)。在空白工程中软件将自动生成一个初始地形以及光照系统,我们可以直接将该默认地形删除。


导入地形:通常情况下我们需要在建模软件中将自己的模型存储为fbx或obj格式,并在UE的内容目录中右击鼠标选择“导入”来添加模型资产,并在添加完成后直接将该模型拖入至场景中。


创建视角:和大部分渲染流程一样,通常在第一步我们需要构思一个合适的视角作为图像输出的画面。因此小编在左上角的“视图选项”中创建了一个摄像机,通过移动摄像机的位置我们可以调整构图并确定最终输出图像的视角。选择好角度后,在“透视”选项中点击“CameraActor”可以直接进入镜头视角。




#02 制作混合材质
在地形材质方面,小编推荐大家使用UE5自带的Quixel Bridge插件下载材质并在其基础上进行优化,这将会在一定程度上方便小白快速上手。Bridge上有许多来自世界各地的3D资源、材质、贴花等素材,几乎可以满足景观设计在铺装或地景材质上的全部需求。

下载材质:在UE左上角的“导入内容”栏中打开Quixel Bridge,我们可以直接在搜索栏输入材质关键词查询自己想要的材质。通常情况下小编会直接按照默认设定(Medium Quality)下载,材质质量可以根据自己的需求以及电脑的配置进行调整。下载完成后,材质将存储在Bridge中的本地目录中。



混合材质:通常情况下一个比较真实的自然地形并不能仅靠一种材质来定义(比如一片泥泞地可能会包含植被、泥土、水等多个材质),因此我们需要将多种单一的材质球合并成一个材质再应用到地形上,这不仅能为地形丰富很多细节还会更加自然的还原现实。
在Bridge中打开刚刚下载好的材质球并点击添加,我们可以在UE的内容目录中用过滤器搜索“材质示例”即可看到添加进来的材质球。之后依次选择底部、中间、以及顶部的材质,并在Bridge的材质球细节面板中点击右下角的Megascans图标创建材质混合。


在创建材质混合后,UE内容栏中会出现一个BlendMaterials文件夹,将文件夹中的材质球拖入至地形上为模型赋予材质信息。


刚拖入的材质将在模型中以单一材质的形式(最底层的材质球)显示,因此我们可以双击打开该材质示例的细节面板对其参数进行调整。

在使用混合材质时需要将00-Global中的混合变量开启。开启之后我们可以在BlendControls中调节混合的强度、扩散程度等参数来控制地形的材质效果。

除了控制参数调节混合程度外,我们也可以手动绘制不同材质覆盖的位置:菜单栏右上角的“选择模式”中点击“网格体绘制”。在绘制界面中,需要着重注意通道选项,其中的红、绿、蓝(RGB)三种通道分别代表了最上层材质、中间层材质、水材质三种不同的信息。因此当我们想要绘制顶部材质时,只需要将R通道勾选并在地形上进行绘制即可(绘制颜色为黑色时为正常绘制,颜色为白色是为擦除)。
除了控制参数调节混合程度外,我们也可以手动绘制不同材质覆盖的位置:菜单栏右上角的“选择模式”中点击“网格体绘制”。在绘制界面中,需要着重注意通道选项,其中的红、绿、蓝(RGB)三种通道分别代表了最上层材质、中间层材质、水材质三种不同的信息。因此当我们想要绘制顶部材质时,只需要将R通道勾选并在地形上进行绘制即可(绘制颜色为黑色时为正常绘制,颜色为白色是为擦除)。




#03 修改材质蓝图、制作水面细节
如果大家想要叠加更多材质细节,我们还可以在默认材质球的基础上对其进行一些简单的“魔改”,比如这里小编想在地形的低洼区域添加一些积水的效果。
在混合材质示例的细节面板中,双击打开该材质实例的父项,父项材质球中编写的蓝图节点其实就是几种材质叠加混合的全部逻辑。为了方便操作,我们可以在全部蓝图节点中找到其最后一个函数节点MF_PuddleLayer(备注为Add Wet Layer)进行编辑。



尽管MF_PuddleLayer中的材质节点很多,但其实它们都被存储在了右侧“MakeMaterialAttributes”的竖条节点中,因此我们编写的新材质只需要与这个节点进行混合就可以了。
既然理解了材质该在哪个节点处混合,那么低洼处的水材质要怎么制作呢?小编的整体思路是这样的:
1.导入高度图:首先我们可以用地形的高度图(即DEM栅格图)来判断模型的高度(图片白色为较高位置、黑色为较低位置),这里我们可以直接在内容目录中导入自己的地形高度图。

2. 制作水面范围:有了高度图我们便可以控制水的范围,水范围的定义需要利用该高度图的R通道对黑色区域和白色区域的范围进行控制(通过简单的乘法运算和幂运算创建变量控制)。在图形学中黑色的数值为(0,0,0),白色的数值为(1,1,1),因此我们只需要将黑色区域(地形低洼处)反转成为1并放大该数值即可。

3. 制作水材质:小编这里以最简单的水材质为例(仅包含粗糙度、金属度、颜色三种数据),创建原始标量并连接MakeMaterialAttributes节点。最后我们用BlendMaterialAttributes节点将该材质和原材质进行混合。


制作好水材质后大家可以重新回到材质实例的属性面板中调节参数控制水的范围~
