虚拟纹理 | 网格距离场 | 植被 | 水材质 | UE第六周 Shading与材质创建...
Game艺视界原创文章原创 15167 1
实名

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

发布于 2023-4-28 15:31:04

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

x
本期笔记内容:高亮显示部分第1周|介绍和概述纹理和UE4材质编辑器我们将学习UE4中使用的PBR纹理的基础知识、纹理打包和UE4材质着色器系统的概述
第2周|掌握材质、材质函数和数学我们将分解主材料实例和使用该功能总体好处。我们还将致力于创建有关着色器系统和艺术的参数和数学基础。首先,我们将介绍主材料的模块化工作流程,以及如何更好地利用材料功能进行组织
第3周|复杂材料和细节地图在这节课中,我们将复习更复杂的数学用法,例如;时间、正弦和余弦以及平移器和旋转器。我们还将介绍游戏中使用的其他特殊材料,如透明/玻璃、菲涅耳、SSs、透明涂层和天鹅绒
第4周|高级材质着色器(风景、顶点绘制、三平面和位置贴图)我们将介绍Landscpe材质以及如何创建层混合。我们还将介绍环境和道具团队使用的其他复杂材质,如顶点绘制、权重绘制、基于位置的效果和其他混合技术
第5周|高级材质着色器ll(视差、镶嵌和贴花)本课将介绍更复杂和昂贵的着色器,例如视差、细分和延迟贴花和网格贴花
第6周|高级材质着色器lll(树叶、网格距离场、虚拟纹理)最后,我们将介绍UE4中的树叶和其他功能,例如网格距离场和虚拟纹理,以及如何实际使用这两者,以及总体上的优缺点
介绍虚拟纹理以及如何将他们与流式或运行时中如何使用他们这些游戏中的纹理通常在运行时会发生什么情况是,它们被发送到这个称为纹理流池的东西中,然后它们的设置方式是当你在游戏中看到纹理时它会根据距离输出比如64X64分辨率或512或1024,它只是整个纹理但它将以不同的关系分辨率完成这被称为 mips,它类似于网格中细节级别的概念
流式虚拟纹理的工作原理是什么?根据您与某个象限的接近程度它会分解您的纹理,并将其划分为不同的分辨率具体取决于您的接近程度,你离得更远它可能是一个完整的512纹理。然后像这个更近的角落将是1024,然后我们慢慢开始靠近它在这些像更近的角落上下降到2048,它开始混合所以相反它采用整个纹理并将其设置为喜欢,这些低分辨率之一它只占用纹理本身的区域。这使您可以拥有更多定义的细节比如更大的网格有一点纹理成本,所以当从技术上讲您处理虚拟纹理它会对其进行两次采样,因此通常您会在材质编辑器中拥有一个纹理样本一个纹理其中每一个通常都是两个,一种帮助解决这个问题的方法是使用纹理相同的uv集
开启虚拟纹理
设置-->项目设置-->输入virt-->重启引擎关卡并重新计算所有东西

a14e59a2c00eed36c0afff8c2ab90640.png

打开一张纹理我们可以将它设置为虚拟流纹理

a56f5d066519844a4c3adfd529bc954a.png

设置后标志


我们可以在这里在右键菜单中进入这个纹理操作你甚至可以在此处转换纹理,然后你可以调整诸如纹理大小阈值之类的东西,这是一种实际上可以递归的方式像批量更新纹理,然后它还会做的是一旦它对所有内容进行采样,它将找出它使用的所有材料并帮助即时更新它


双击材料然后我们需要打开虚拟纹理




‍



您可以看到它离它有多远当您开始越来越近时它会变成一个更大的黑色正方形,您开始看到黄色 有时会突然弹出我们慢慢开始靠近它它正在创建越来越小的网格这就是它正在做的事情它正在创建那些分辨率更高的重细节例如 1024 2048 纹理然后当你离得更远时它开始在 512和256 纹理中进行流式传输,因此这是将所有这些东西混合在一起的更好方法并且不会弹出整个纹理它只是混合小象限本质上就是流式传输虚拟纹理的一部分


接下来我们将讨论运行时虚拟纹理以及使用景观材料使用它们的方法我们创建一个地形简单雕刻些形状,赋予我们材质纹理这种类型的景观信息混合到纹理中一种方法是使用像素深度偏移来创建一个假的透明度来检测我们拥有的这个边缘折痕那将有一点帮助但它不会为您混合到纹理中,这只是一种廉价的方法,使线条看起来不那么粗糙,这种方法的工作原理是它会在这里获取信息并且它是将在其上创建纹理它类似于渲染目标的方法。因此渲染目标是一种像纹理图像一样的图像。它将在此处获取实际信息并将其渲染为平面纹理,您可以稍后再使用在用于不同的事物时我们将以不同的方式处理它


所以让我们进入我们的景观在景观设置中有一个虚拟纹理设置


在最上边添加虚拟纹理,选择我们文件夹保存在其中


然后双击是您的运行时虚拟纹理的所有设置您可以调整实际的分辨率


然后你实际上可以调整纹理本身的内容,所以默认情况下它具有基色法线粗糙度和镜面反射


接下来我们需要做的是我们要引入一种类型的体积,将绑定到这个景观,以便我们实际上可以捕捉里面的所有东西它是边界



所以我们要选择我们的景观你会捕捉到景观


接下来我们需要做的是我们需要把这些应用的虚拟纹理带到景观材料中,所以我要去我们的主材料,然后我们需要我们的输出,然后我们就去需要我们的运行时示例这些是您可以使用的两个节点。它需要将我们刚刚在景观中获得的所有信息烘焙到实际纹理上,而不是之前在运行时获取景观纹理和材质设置,而是计算生成我们用于这些的所有这些节点例如层lerps然后它现在运行时同时计算它们因为我们有这个输出和输入它现在正在烘焙所有这些信息并创建一个实际上只采样一次的输出作为一个纹理


下一件事是我们需要去我们模型材质,然后让我在这里新建两个个样本并输入我们的纹理




01-让我们首先抓取一些世界位置02-然后让我们抓取一些对象边界,你去对象边界因为我们不需要对象比例,我们不需要对象位置,我们需要对象本身的边界以及它如何接近这个对象03-接下来我们要做的是获取一些组件遮罩b通道和蓝色通道因为在位置关系中它是高度04-创建减法,减去一切事物的世界位置并减去它与景观的实际高度信息这样就可以创建我们在世界和景观之间的距离05-然后我们要做的是,根据定义,将距离添加到我们的边界上,它基本上会计算出我们的物体在哪里


我们添加一些高度调节和混合调参-除法接入主材质




最后添加一个饱和节点,这基本上就像一个箝位节点,但没有用户输入集,这只是一个以防万一的事情,以防当我们开始输入这些值时,它们可能会超过或低于零或一,我们不想要任何东西低于零



现在让我们开始插入,这里我们有反照率我们将把它插入Lerp,无论我们的 lerp 中的白色是什么将成为岩石,然后我们的 lerp 中的任何黑色都将成为我们将从这个虚拟纹理样本中获得的纹理信息.。其他通道同样这样连接


从本质上讲,这是一种获取景观信息并将其混合到我们的对象的方法,从技术上讲,使用其他静态网格仍然很困难,因为它必须计算一堆对象,这是有效的,因为景观为所有这些层混合设置了一种材质,除非你有一个静态地面,使用一种材质作为所有地面材料实现这一点的唯一方法,因此这本质上是您使用的第二种方法



好吧,让我们来谈谈树叶树叶是一种非常特殊的着色器,用于道具和环境资源中,主要是草类植物、藤蔓植物、树叶、树木和各种不同的东西
我们需要导入一个带有顶点颜色的模型,顶点色可以在max maya blend中绘制,导入时记得设置模型属性




进入我们材质,我们所作的第一件事是改变材质属性:双面属性


我们的风速




现在需要引入一个顶点颜色节点,我们将掩盖我们想要的区域以经移动了,我们只需要引入一个空的缩放器,我们不会向它添加任何参数它只会是黑色的然后我们将应用 lerp,连接到主材质World Position



植被Foliage
Cull Distance:调用距离

动态间接照明距离场照明
光照贴图分辨率
双面阴影投射

你可以让它接收贴花(为它正在尝试应用贴花投影附带的半透明信息所以要非常小心如果你是使用贴花尝试尽可能少地使用它)
你可以将它设置为遮挡器






我们实际上查看您对着色器复杂性的优化视图,它不是红色的,这很好



草分布

这里我们有这个草输出默认情况下它将有一个数组通常它就像命名的草或者如果它没有弹出你可以点击+号添加它



添加Foliage




双击就进入设置;输入网格模型



在主材质面板输入景观主材质层



这个是Sample“none”空的,你只需要写下你的图层名称的名称连接到Grass



所以要非常小心你如何处理你的小树叶之类的



网格距离场

网格距离场是一个概念 生成数据信息的最佳方式是获取关卡中使用的所有静态网格信息并传播网格的一种代理版本以创建环境光遮蔽阴影的不同方面甚至是提供帮助的方法 主要是通过屏蔽某些资产它成为了应用 fortnites 的一项重要功能



用大的景观和树叶做得更好比如这些巨人比如这些在远处的树自然地来说树木有一点点环境光遮蔽 它可以像正常的屏幕空间一样使用但它的作用是提供更深的深度并创建基于距离的环境光遮蔽这样你的树就不会看起来那么假和遥远


环境光遮蔽中嗯它还有其他用途还有软阴影

使用基于距离场的软阴影实际上您可以更准确地表示软调整和漫射光






当你使用距离场信息进行阴影贴图距离计算时,信息会非常接近,它会应用一个简单的阴影版本,只为你提供一点深度,并更好地细化阴影,所以我们现在要做的是让我们跳到场景中,让我们跳进场景中,在项目中的设置,如果你在这里进入搜索详细信息,你可以输入距离dista,重新计算一些着色器



我们可以通过



它会找到资产相交的区域或具有清晰的蒙版或边缘的资产它会为您掩盖那些点它试图将其近似为非常和基本的关卡版本它可以使用这些信息来创建某些效果,例如环境光遮蔽或阴影,甚至在某些对象之间进行遮罩它又是实时的



水着色器

01-首先最重要的是水着色器不是不透明而是半透明的材质
02-打开我们的照明模式到表面半透明,所以它非常适合创建水之类东西
03-然后我要打开另一个东西即屏幕空间反射
04-然后我们的最后一个一直到这里我们将进行调整进入我们的折射率所以自然地说当您使用玻璃或其他东西时折射率是您在表面上折射光线的方式玻璃有自己的反射指数它与水是一样的水是1.33 应用你知道的可移动法线和其他东西索引折射会有点疯狂所以你最好的选择是应用这个法线偏移,它会使用切线空间法线进行调整



01-带入法线贴图

02-我们将要做的世界定位方法来做到这一点,所以我们将使用世界位置作为我们使用纹理的方式,我们将获取我们的绝对世界位置,然后我们将获取一个组件遮罩以便我们可以选择前两个通道,这将是我们的 x 和我们的 y 用于uvs
03-新建Panner
04-让我们应用我们的坐标然后我将应用一个矢量2,值为17.5 然后可能像 8.5 左右然后将其插入我们的速度
05-我希望能够对速度和平移量进行一些小的调整我将应用另一个乘数这可能是我们的第一个类似参数它是我们平移的强度默认0.0035然后插入法线点击应用





接下来我们处理下水沿一个方向流动问题;复制参数与贴图文件改变常量



我们遇到的最大问题是,z方向的光线来自z方向,因为这是你的深度来源于你的法线贴图的地方,所以我们可以做的不是使用用这些法线贴图计算的z,我们可以做一件事让我们获取一些附加向量。我们要做的是我们将采用这两个家伙的红色和绿色通道。因为在那里你将获得关于波浪左右运动的 x 和 y 信息,
在这里点击乘法 然后添加参数0.07这是我们的法线强度
这是一个材料函数它获取你的 x 和你的 y 信息然后它将从中导出一个归一化的 z



当我们往水里看的时候,越往下看,他就越暗这就是你想要的深度这样物体的顶部越浅,底部越深,这取决于实际情况位置对象顶部较浅底部较暗因此有几种不同的方法可以应用深度,
01-所以我要获取两个值它们是我们的场景深度和像素深度,它们正在做的是他们创造了一个切线值一旦我们将这两者与一个分割节点放在一起它就会分割并,创建一个切线值当你在一个视角时它会倾斜,它正在做的是获取你的场景数据的深度,然后是实际的深度材料它创建了切线,因为有一件事是你可以做到这一点,你将拥有一个普通的简单材料
03-我们需要一个实际的深度量所以我们可以做的是我们将抓取另一个世界位置节点
04-然后是相机位置这是我们将能够环顾四周并看到事物的方式,因此您可以设置相机位置世界空间
05-然后我们将减去这两个值以获得距离
06-我们将做一个小的附加向量因为这些世界空间将是三个不同的方向
07-我们要做一个向量 2 我知道那不是向量 2,但我们不会对第一个做任何事情两个向量我们只需要 z 的东西。
08-我们的高度在某种意义上这将是我们的网格高度我们将能够调整它所以我要点击一个转换参数然后这将是我们的水网格
09-然后我们可以做的是我们将这个深度的这个值乘以



现在实际上需要将这个值加回这个值



深度调节


我们要做一个减号来反转这个值深度所以我们将做一个划分这样我们实际上可以对深度会像实际一样多远进行一些调整 深度的距离然后我们将抓取一个功率节点以便我们可以调整该值的对比度所以让我转换这个人这将只是我们的深度就像偏移量实际上不让我们做深度和我会设置一个值我会设置一个50 的值深度下降DepthFalloff





继续做一些颜色





稍微清理一下这就是我们的水深


下一步我们添加地表距离




01-添加一个参数控制面具,所以这将是我们的泡沫

02-然后我们要做一个饱和因为这些有时这些值可能会变高一点或者实际上可能比其他任何东西都更负那么你实际上可以做的是我们将其中的另一个像向量三一样扔进去我们会把它变成白色03-然后我们要抓取一个lerp在深度上所做的 lerp 然后我们要像这样插入它04-添加1减






我们不想使用的这个网格本身的距离场我们只想使用来自其他网格的距离场信息然后将其投影到那里


我们处理下泡沫边缘
01-获取世界位置
02-除以距离
03-获取通道RG用于uv
04-获取一些时间位移它
05-添加一个附加向量,设置泡沫X,Y  插入我们的纹理


焦散
水下贴花材质等(剩余内容见下方原视频)回顾:首先我们讨论了虚拟纹理我们已经学习了运行时虚拟纹理以及如何使用它们来融合到景观中,我们还讨论了流式虚拟纹理以及如何使用它们来代替旧的mipmap 处理纹理流的方式,我们已经讨论了树叶着色器我们已经讨论了如何在非宗教中使用更即时的方式绘制树叶着色器然后我们还讨论了如何将树叶应用到单个和景观层在材质编辑器中最后我们已经讨论了如何创建一个复杂的水着色器,它使用距离场进行蒙版发泡以及使用流程图绘制以在材质中创建材质
好!本期笔记分享就到这里,我们下期见!
微信公众号:Game艺视界
使用道具 <
Kabuto骑士  发表于 2024-9-2 21:29:12  
2#
我曹  牛逼啊    码字教程
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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