UE5地形【材质层】虚幻下一代景观材料 | 高效快捷
Game艺视界原创文章原创 14769 0
实名

通过了实名认证的内容创造者

发布于 2023-4-28 15:02:32

您需要 登录 才可以下载或查看,没有账号?注册

x
本期笔记内容传统地形材质,在我们实际制作地形材质之前,我们将研究两种不同的方法当我在这里查看这个地形时,我们已经有了所有这些漂亮的流线,我们也在这里挑选了一些山脊,这一切都来自houdini,我们在其中导入了Mash数据,然后我们开始对景观应用不同的蒙版并在其顶部应用流动模拟,已经在这里提取了这些数据,我们将用它来控制我们今天要创建的地形材质的混合(这是上两期内容)
20d85b3490652d79516ba0d15990ee66.png

c5c560b452ccc3cdf64b502e750b3494.png



我们将要创建这种地形材质的第一种方法,是我认为对于初学者来说最好的方式来掌握所有地形材质在其基础上的工作,原理是我们刚刚开始在我们上次创建的地形材质上构建双击主材质我们可以看到这四个材质属性,这里的向量参数所做的称为草色,岩石也是如此色调和沉积物色调


这允许我们做什么?它允许我们为每一个设置一个有效的独特材质01-他们将在这里传递到这个混合材质属性02-我们使用这个我们称之为草的景观层样本节点,这将采用这一层草并将其应用到任何重量的地方,在地形上我们很容易看到这些权重的应用位置,因为我们已经对材质内部的那些进行了着色


接下来我们可以导入我们准备好的地表材质接入相应的插槽



设置地表平铺






方案一



如果有一种方法,只要把你想要的不同纹理插入到材质函数中,然后每当你更新逻辑时,它就会为所有层更新,这不是很好吗?创建一个新材料函数,添加我们所需要的参数;Color可以选择不加 | 打包的贴图可选择推荐放ORM


我们进入材质函数选我们材质修改为:共享(包裹)



将制作好的材质函数带入主材质替换我们之前节点;注意命名



创建地形主材质实例这样我们就可以替换


当我们增加其他材质时我们可以继续复制这一组

【图01】

注意修改复制出来的命名不能有重名


制作好后我们按照以往流程切换到景观地形模式//来到Paint//1首先保存权重笔刷然这时候就可以在地形上绘制地表了//2或者我们导入在其他软件制作好的Mask权重图


以上步骤制作好后,我们就可以通过材质实例替换任何贴图缺点:
如果我们要增加一种新材质,我们回到主材质必须复制这个层【图01】,每次我们想要制作一个新的层我们必须复制,然后我们必须重命名每一个纹理,如果我们材质函数有更多参数那么我们复制后需要修改名称也会更多
所以接下来我们将研究材质层是一种全新的我认为虚幻内部的材质范式,他们的目标是保留使用节点图的所有惊人功能,以及创建材质实例和使用函数创建的所有强大功能,使您的工作流程更加模块化
继续:我们将创造一种比市场上最好的景观水材料更强大或同样强大的材料,它将以这样一种方式设置。您可以轻松进入并修改在几分钟内做出巨大的彻底改变。它没有你想象的那么复杂,也没有以前那么复杂



以往方式:假设你想添加一些宏观变化,假设你想减少地形上的镜面反射你必须在每个图层单独执行次操作,这意味着创建一个新参数这意味着命名参数,这意味着将参数分配给一个组以便轻松找到它,在你材质实例中工作
旧版本ue你要启用材质层 4.23、4.24



如果有一种方法可以只设置一个层来做一次,然后让它成为一个可重用的函数你可以在整个材质实例中重用,而不需要去分别为每个图层创建名称如果在材质实例内部,如果您想要一个新图层您不必返回主材质并将在内部设置,你只需点击一个小加号图标就可以像在 Photoshop 中一样向堆栈添加一个新图层


新建材质使用材质属性引入一个层节点


我们实际上不需要在主材料本身内部做很多其他事情,所以你可以看到,选中此选项后,我们有一个小层下拉列表,默认情况下,我们没有层,因为我们还没有创建任何层


新建材质层双击进入编辑


它可以传递一种材质,然后我们有这个设置的材质属性,目前没有设置任何属性,所以这不是我们想要的我们想做的是我们实际上想要设置所有的图层,这将构成我们的基本材质景观基本上包括一些单一的景观层


我们将添加五层,这将调出所有这些层现在我们不需要设置金属层,我们将忽略它我们要删除那个
我要创建一个纹理参数纹理,一个实际的纹理样本参数2d,要将采样器源设置为共享包裹,将其设置为共享包裹增加了在虚幻内部使用的纹理采样器的数量


接下来我们将节点连接到对应插槽


回到我们主材质层添加我们刚创建好的材质,然后将材质赋予我们地形


双击打开材质,你会在细节面板中看到它,这是我们之前使用旧材质进行更改的地方除了一些默认预设,包括m下划线景观得分上帝层


我们实际上要做的是,这个层参数下拉到这里,你可以看到,在主材质内部设置了这个背景层,它被称为背景所以这是生成的第一层,但是如果我们打开它,我们也可以访问所有这些参数我们定义在材质层内部


我们可以单击此处的这个小加号图标来创建一个新层,然后如果我们扩展该下拉列表,我们可以访问我们在材质层中定义的相同纹理参数值和标量参数值。但它们不会覆盖背景的那些,这些只是为了清楚这是两个完全不同的层在这里参数命名相同并不重要这真的很强大我们在创建景观材料时,从一个真正静态的、不灵活的、缓慢的工作流程转变为能够在几秒钟而不是几分钟甚至几小时内快速迭代


所以我们可以继续,我在这里将这一层命名为草,因为保持井井有条很重要,我们继续创建沉积层和岩石层,但这并不是景观材质图层的全部工作要求,我们是否看到的每个图层一个图层资产


混合资源真的很重要,它不是没有定义单个层本身的外观,而是定义了该层如何混合的资源,所以如果您还记得我们是否回去快速查看一下以前的材质我们正在使用这个节点,称为混合材质属性


我们需要的这个新的材质创建范式中做它,要创建一个称为材质层混合的开头


我们只需要定义 alpha ,我们将只取一个草样本


然后插入到我们材质中,默认情况下不会有任何变化,那是因为i我么你还没有第一图层,在这一点上看起来有任何不同所以我们要回到我们材质函数



我要在材质函数添加一个新功能,我知道所有层都需要具有这就是为纹理着色的能力(我们需要对材质所作所有操作都会在我们这材质函数内添加/需要添加不需要不加例如:粗糙度调节,法线强度等)



我们切换到地形模式在材质笔刷栏这样显示,他不知道在哪里应用这些通道,接下来我们解决下这个问题



接下来让我们首先这样做,我们在主材质这里声明这些图层,并且我们还在每个图层混合中声明了它们,嗯,我们需要以某种方式


我们需要找某种方式替换对此的引用,也让它们在每个图层混合中声明,嗯,我们需要以某种方式替换对它的引用,我们需要将它直接从主材质输送到景观图层,这样它就可以出来,我们可以使用它在混合层中使用它我们要去必须利用自定义定制的UVS,所以自定义uv本质上就像uv通道,如果你想象你有一个静态网格,你有 uv 通道零这是你存储你的地方,它与你的纹理信息相关如果你只是使用烘焙照明,你可能有另一个用于光照贴图的 uv 通道,但实际上你最多可以拥有我认为未实现的7 或 8 个不同的uv通道,每个通道都可以包含自定义数据首先它们将被引导到景观基础层,因为这是第一个基础层并且将在此输入材质属性中进行采样,因此这是一个函数输入,它将采用我们在这里传递的这些材质属性然后将其向前传递,我们正在设置图层参数如:基础颜色、法线、AO等


我们回到主材质制作makefloat2的节点所以这是制作一个二维向量,就像纹理坐标一样他只是两个维度,但在这种情况下我们将使用它来传递我们层权重所以我将把它传递到uv 中,,我将制作另一个用于沉积物并留下y暂时为空 x 和 y 与我们正在做的事情并不真正相关,它只是通道的名称如果你想象我们有一个矢量参数你有 r g 和 b 并且本质上 x y 和 z 与 rg 和 b 这只是一个不同的标签



我们不需要对材质层做任何事情因为它只负责设置层特定的参数,比如纹理信息但我们将进入材质层混合我们要做的是对于材质层首先混合草我们只是要检查哪个引脚包含草,所以它很简单,示例草进入自定义 uv 的第一个浮点值,所以如果我们回到材质层混合草,我们已经拉出了自定义的 uv 并且现在我们将使用一个名为 break float 两个组件的节点不知道为什么时R\G不应该是X/Y吗



现阶段效果;接下来我们处理左下角平铺问题



进入材质基本层内部添加/地表纹理坐标/乘法节点/映射比例



我们在基本层所添加任何参数,都会同时在其它图层生效


有了平铺值;我们添加一些细节纹理以确保他们在近距离看起来很好,现在一个流行的方法是使用大量基于距离的方法在两者之间进行混合,我并不真正喜欢这种方式,他破坏了连贯性我们将创建一些控件,允许我们定义我们对每一层的权重,并且它不会随着距离而改变我们将找到在近距离和远距离都有效的值,所以让我们进入我们的材料层的主层,我们为颜色创建细节贴图注意修改纹理样本为包裹模式


设置我们样本为minmap;我们还可以调整贴图模糊程度


添加控制法线强度调节



在添加纹理的高频版本之前,我们减去相同纹理的模糊版本


背景层实际上没有分配任何材质混合,它只是存在的那个一种基础和材料


它是我们在景观中分配的在主语言景观材料中作为背景,背景需要存在,但你无法控制它的应用位置它被应用到任何地方


我们将创建一个新的材质层,回到主材质将新的材质层分配主材质


接下来我们设置下高光我将使用一个菲尼尔节点,你可以看到它正在寻找我们正在查看的对象的角度然后它给了我们一个一种黑色到白色的渐变黑色是嗯


指数为零,那些更垂直于观察者的角度上的零值为零,然后那些处于掠射角的角度将是 1,因此我们将从中抽出很多我们将插入将菲涅耳输出到 alpha 中然后我们将得到b输入,这是no我们将得到a输入,这将得到镜面反射值,所以这是接近黑色的值就像这样,然后我们将把b输入设为零,这样就可以便将菲涅耳降低到镜面反射率降至零
我们将把它插入镜面反射,现在你可以看到这看起来大部分是白色的,没有 实际上,当我们查看原始高光值 0.5 和潜伏在 0 和 0.5 之间的警报警报之间存在巨大差异,因此我们可以通过创建另一个spec 标量参数来改变这个菲涅耳的影响,我们是将称之为SpecularExponent,我们把它提高到0.5,1,2,5越高白色越多我们会选择一个较低的值


新建材质层我们新建一个坡度检测层;在这里我们不在使用Houdini导出遮罩mask




视频版:

好!本期笔记分享就到这里,我们下期见!
微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表