当前位置:首页 >教程首页 > Unreal Engine >Unreal地形高级材质之根据斜率分配材质

Unreal地形高级材质之根据斜率分配材质

发布时间:2020-09-21 10:13:47

Hello . 大家好,今天即兴给大家分享一些关于Unreal地形高级材质之根据斜率分配材质,我是木偶心没。

关于unreal的地形以及基本的材质,之前各大佬已经很详细的介绍过,大都主要基于基本的地形创建分层材质。现在设想,如果我们做好了一片草地,后面还想用工具刷出带有一定坡度的小山,而实际上刷的时候如果坡度达到一定的值,泥土和草是会剥落露出里面的岩石的,所以我们就可以用高级一点的地形材质来根据斜率的变化自动加载不同的材质。

首先,我们随便新建一个landscape,任意大小。然后创建我们的基本材质球,如下图;

1.jpg

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

2.webp.jpg

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

3.jpg

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

4.jpg

我们会发现得到的结果并不自然,因为在自然状态下,这种接近九十度的坡度,泥土和草根本是不可能存在的。所以需要我们添加另外一种材质,岩石的材质。

重新进入到我们的材质球,首先需要添加一个材质混合节点叫做MatLayerBlend_StandardWithDisplacement,

5.png

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

6.webp.jpg

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

7.webp.jpg

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

8.webp.jpg

现在我们开始来给alpha添加数值,也就是我们要进行的斜率算法。

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

9.webp.jpg

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

10.jpg

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

11.webp.jpg

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

12.webp.jpg

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

13.jpg

以上就是完成的最后效果图,有兴趣可以将纯色贴图换成正经材质球,效果会更好。

来源:Thepoly公众号

学员作品赏析
  • 2101期学员李思庭作品

    2101期学员李思庭作品

  • 2104期学员林雪茹作品

    2104期学员林雪茹作品

  • 2107期学员赵凌作品

    2107期学员赵凌作品

  • 2107期学员赵燃作品

    2107期学员赵燃作品

  • 2106期学员徐正浩作品

    2106期学员徐正浩作品

  • 2106期学员弓莉作品

    2106期学员弓莉作品

  • 2105期学员白羽新作品

    2105期学员白羽新作品

  • 2107期学员王佳蕊作品

    2107期学员王佳蕊作品

专业问题咨询

你担心的问题,火星帮你解答

微信扫码在线答疑

扫码领福利1V1在线答疑

点击咨询
添加老师微信,马上领取免费课程资源

1. 打开微信扫一扫,扫描左侧二维码

2. 添加老师微信,马上领取免费课程资源

×

同学您好!

您已成功报名0元试学活动,老师会在第一时间与您取得联系,请保持电话畅通!
确定