Hello . 大家好,今天即兴给大家分享一些关于Unreal地形高级材质之根据斜率分配材质,我是木偶心没。
关于unreal的地形以及基本的材质,之前各大佬已经很详细的介绍过,大都主要基于基本的地形创建分层材质。现在设想,如果我们做好了一片草地,后面还想用工具刷出带有一定坡度的小山,而实际上刷的时候如果坡度达到一定的值,泥土和草是会剥落露出里面的岩石的,所以我们就可以用高级一点的地形材质来根据斜率的变化自动加载不同的材质。
首先,我们随便新建一个landscape,任意大小。然后创建我们的基本材质球,如下图;

然后按照规矩添加Layerblend节点。然后给layerblend添加三层材质分别代表泥土,草地和湖泊。Blend模式直接默认weight blend,然后给简单的输入一个纯色作为贴图。(除了输入纯色做贴图以外,如果我们更改layerblend属性中ConstLayerInout的值,在默认没有输入的情况下,材质就会直接计算这个参数的值,比如当x=y=0,z=1的时候,就是蓝色)

现在我们把这个简单的材质先赋给地形,并创建weight-blended layer

我们现在随意将三种材质刷到地形中。如果我现在在三种颜色交界的地方用sculpt增加一座有坡度的小山

我们会发现得到的结果并不自然,因为在自然状态下,这种接近九十度的坡度,泥土和草根本是不可能存在的。所以需要我们添加另外一种材质,岩石的材质。
重新进入到我们的材质球,首先需要添加一个材质混合节点叫做MatLayerBlend_StandardWithDisplacement,

此节点用于混合两个材质球,类似于blend节点。Topmaterial输入的则是我们的三层混合材质。Basematerial输入我们的基本材质,也就是我们要添加的岩石的材质,这里给一个灰色。但是当我们把三维的灰色直接给连到basematerial的input里面的时候,发现连不上,因为这边需要输入的是一个材质球,现在只是一个数据,还算不得一个material,所以我们还需要用MakeMaterialAttributes节点来进行转化,效果如下;

接着我们在把混合后的材质节点连接到basecolor的时候,发现也无法连入,是因为我们不能够用默认定义好的材质属性,需要勾选上Use Material Attribute来自定义我们的材质。

现在我们保存一下,然后进入到地形中观察,发现所有的地形都变成了我们定义的岩石灰色,是因为我们还没有给alpha添加数值,所以默认应用的是basematerial。

现在我们开始来给alpha添加数值,也就是我们要进行的斜率算法。
首先我们需要用VertexNormalWS获取地形中每一个顶点的世界法线坐标,因为我们的贴图映射是根据Z轴来映射的,所以斜率的换算就是每个点z轴的换算,所以我们用ComponentMask(提取通道)获取世界法线的z值(只勾选B通道)

然后为我们的坡度定义一个范围gradient(default value:0, Slider Min:0, Slider Max:1),并将z轴的值减去坡度,即得到我们想要漏出岩石的那一部分斜率范围;

此时的过渡是很生硬的过渡,所以我们需要给不过度边缘添加细节渐变,除以自定义渐变值roughness(default value:0.5, Slider Min:0, Slider Max:1)

由于materialblend需要输入的是一个alpha值,所以我们需要用saturate将值限定在0-1的范围,然后连入materialblend的alpha输入中,保存;

为方便调节,我们给mat_landscape创建一个材质实例,然后将材质实例给地形,调节gradient的值和roughness的值发现,如果增加gradient的值,就会得到更多的岩石材质,如果增加roughness的值,边缘的分界线就会更加明显,渐变更少。

以上就是完成的最后效果图,有兴趣可以将纯色贴图换成正经材质球,效果会更好。
来源:Thepoly公众号
下一篇 UE4偏门实用技巧分享
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答可灵年化5亿美元谷歌带队出海安徽举办省级漫剧大赛AI设计日报0623
可灵正推进从快手分拆独立运营,内部方向为2027年初递交港股上市申报 来源:上海证券报(2026-06-17) AI短剧"产......
火星时代
腾讯又放大招这款AI工具让游戏美术效率提升300是真革命还是噱头
但对于追求极致细节的资深原画师来说,自动化程度高也意味着部分控制权让渡,需要适应 实测体验:响应速度确实惊艳,比传统生图的等待......
2026年,AI短剧早已不是"写一段提示词等生成"的粗放阶段真正拉开差距的,是谁先把从立项到出片的整套工业化流程跑通 过去做A......
什么是负面提示词? 在AI绘画中,我们通常用正向提示词告诉模型想要什么——比如"一个穿红色连衣裙的女孩站在海边"这时候你需要一......
做AI漫剧最头疼的是什么?不是剧情写不好,不是场景出不来——是角色脸上的表情 想写角色开心,只会一句"他开心地笑了";想写难过......
同学您好!