Unreal地形高级材质之根据斜率分配材质
创始人
2024-04-13 02:09:10
0

目的:根据地形的斜率来混合地形材质,制作地形时,当地形有高度抬升时,被拉伸部位的贴图会出现拉伸,或者想要在拉伸区域使用其他类型种类的贴图时。如果使用笔刷对地形进行更改是耗费时间的,所以想要整体一次性更改,需要使用高度融合节点HeighLerp 及材质层融合节点 MatLayerBlend_Standard 实现。

HeighLerp节点,材质函数,可双击进入查看逻辑。可以理解为 高度的线性插值。可以控制地形在高度上拉伸时,控制填充其他类型贴图高度范围。

MatLayerBlend_Standard节点,材质函数,可双击进入查看逻辑。可理解为顶层和基础层的混合。地形在高度上拉伸时,想象成一个高度内拥有两端及中间区域,需要两端显示的材质链接TopMaterial节点,中间拉伸部位显示的材质链接BaseMaterial节点,Alpha:插值系数

 

TopMaterial节点一般链接地形现有层材质即可。

拉伸区域的材质需要自定义材质函数。

 2 创建岩石材质函数(拉伸区域的材质需要自定义材质函数)(希望在地形高度差的位置上表现的材质)

1 创建一个材质函数

2 创建岩石材质函数

worldalignedtextures_complex 节点:

 

备注:在模型拉伸使想要让贴图跟随物体拉伸,进行平铺使用WorldAlignedTextures节点即可实现效果. 

 

在地形高度融合中,根据高度区域大小实现贴图平铺,需要使用WorldAlignedTextures_Complex节点完成,此节点是一个材质函数,官网没有解释。可以理解为 官方提供了一个规则,让我们直接按照规则使用。

将材质蓝图中的贴图转换为纹理对象,不同类型的贴图与WorldAlignedTextures_Complex中对应节点链接。
 

注意:所有连接到WorldAlignedTextures_Complex节点的贴图输入项后边括号内标有(T2d)的都要转为2d纹理(选中贴图右键“转换为纹理对象”)

 使用worldAlignedTextures节点设置后无法直接进行输出,需要使用制作材质属性节点(MakeMaterialAttributes)来输出

如果需要再额外输出ao等信息需要新建output节点

注意这里处理UV贴图重复度的方式~  第三个参数TextureSize是UV重复度值,我们需要外部将此参数值传入,需要创建输入节点命名为 UV重复度,控制板搜索input选择FunctionInput。将节点类型更改为函数输入标量(实际上就是个一维)。x默认值设置成300。

 

 最后使用时候需要创建一个函数从这里输入tilling值,如果这里没有输入则使用节点上的默认值。

 

 最后岩石材质函数节点

3 然后创建普通地表贴图的材质函数:(草地之类的)

1创建材质函数:

2地表贴图的材质

4 地面材质蓝图公式:

创建一个材质球,将两个岩石材质函数拖入,创建一个一维参数节点(命名:小岩石贴图大小)连接到小岩石材质函数的Tiling(这里如果不输入参数的话贴图大小就默认制作材质函数时输入的x:800为默认参数);

      创建一个LinearInterpolate(简:Lerp 线性插值),三维常量和一维参数节点(小岩石法线混合值),将三维常量连接到Lerpde的A点并设B通道为1,将小岩石材质函数的Normal连接到B点,一维参数节点连入Alpha通道;
      创建一个Transform(空间转换,将线性空间转换代世界空间),选中Transform节点在细节面板的Source选项改为‘Tangent Space’,Destination选项改为‘World Space’;z再将Lerp连接到Transform 
      转换到世界空间后Transform的数值范围是无穷大的,所以需要一个归一化节点Normalize约束一下数值在一定范围内(0-1);
      创建一个DotProduct(简:Dot)将Normalize节点连接到A点,再把刚刚创建的三维常量节点连接B点,这样是世界空间与原始数据对比;
将得出的对比数据连接到ConstantBiasScale节点(常量偏差比例);

创建一个Layer Blend节点将绘的材质函数连接起来,有几个残值函数添加几个混合层,每个混合层的混合模式改为高度混合(Blend Type: LB Height Blend),还要设置每个绘制层的混合权重(Preview Weight);

 

 

 

最后完整的材质节点图:

然后创建材质实例,赋予地形就OK~

enjoy~  地形坡度两层岩石地表混合方式完成~    

下面为简单的地形坡度地表混合节点图:

地表节点图

高度范围值逻辑

完整的材质节点图

 

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...