掌握材质、材质函数和数学 | UE第二周 Shading与材质创建
Game艺视界原创文章原创 16579 0
实名

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

发布于 2022-7-26 17:34:57

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

x
本期内容:高亮显示部分
第1周|介绍和概述纹理和UE4材质编辑器
我们将学习UE4中使用的PBR纹理的基础知识、纹理打包和UE4材质着色器系统的概述


第2周|掌握材质、材质函数和数学
我们将分解主材料实例和使用该功能总体好处。我们还将致力于创建有关着色器系统和艺术的参数和数学基础。首先,我们将介绍主材料的模块化工作流程,以及如何更好地利用材料功能进行组织


第3周|复杂材料和细节地图
在这节课中,我们将复习更复杂的数学用法,例如;时间、正弦和余弦以及平移器和旋转器。我们还将介绍游戏中使用的其他特殊材料,如透明/玻璃、菲涅耳、SSs、透明涂层和天鹅绒


第4周|高级材质着色器/(风景、顶点绘制、三平面和位置贴图)
我们将介绍Landscpe材质以及如何创建层混合。我们还将介绍环境和道具团队使用的其他复杂材质,如顶点绘制、权重绘制、基于位置的效果和其他混合技术


第5周|高级材质着色器ll(视差、镶嵌和贴花)
本课将介绍更复杂和昂贵的着色器,例如视差、细分和延迟贴花和网格贴花


第6周|高级材质着色器lll(树叶、网格距离场、虚拟纹理)
最后,我们将介绍UE4中的树叶和其他功能,例如网格距离场和虚拟纹理,以及如何实际使用这两者,以及总体上的优缺点

*我们将复习材质编辑器中使用的数学运算,我们将分解加法减法乘法和除法,我们还将讨论钳位节点以及添加
*我们将介绍主材质和实例材质,我们将在更模块化的着色器系统中分解它们的用途以及使用实例材质相对于普通材质的好处
*最后我们将介绍材质功能以及它们可以帮助优化的方式并在材质编辑器中组织

开始吧!
创建材质双击打开,所以第一个你应该知道的是,当使用数学系统时,数字零和数字一由特定颜色指定,因为它也是基于二进制的,所以零是黑色,一个是白色,它们之间的任何东西都是相同的渐变黑到白

我们第一次开始使用数学时会有的有几个要知道的快捷方式,所以如果你按住 A并点击这里的任何地方,你会得到一个添加,如果你按住 M 并得到乘法,如果你按住 D 并得到除法,我们需要右键在菜单选择减法

297de033214b2add2d6c5c1076aa0723.png


(1+2-2.8)=0.2最后预览节点

673e64f73e14f85973b562474023c880.png


我们做另一件事附件一个向量Append这是什么,它附加了两个通道,让我们从 0.5和0.5 开始,所以我们要得到的颜色是黄色,因为我们在某种意义上混合了红色和绿色,因为Append的作用是它同时将两个值附加为两个单独的通道而不是一个第一个通道A,当你这样做时它会是红色,然后是绿色,假设你添加了第三个附加然后你在此处附加它我们添加另一个值,让我们做一个这将是蓝色通道,因为它按照通道的顺序排列。所以这是一种方式因为您想制作法线贴图但这是附加向量的基础知识

最后是钳位(限制范围)
它需要像说最小值这样的值任何低于这个数字的东西它会钳制到这个0.4,所以如果有任何更暗的东西比如黑色或非常深灰色的东西都会一直钳位到 0.4,而使用 max 时它会做同样的事情,但任何值都高于它所以任何会说像白色或非常接近浅灰色的东西被限制在0.6(纹理中颜色小于0.4被设置0.4和大于0.6设置为0.6)
您不想让某些颜色太暗或太亮,因为我们在pbr系统中工作,你不希望材质太暗或太亮因为这将反映出在引擎中,你不可能真正拥有全黑或全白类型的材质,你只能从照明场景中的高光或阴影中获得这些暗值,因此这就是为什么我们将使用钳制,或者与数学结合使用或者如果你不希望它们过度曝光或曝光不足,则仅钳制你的值但这是一个原因最基本的

接下来介绍的下一部分是主材质以及我们将如何使用
尽量使用打包材质ORM这样可以节省资源不影响性能

回到我们主材质右键就可以创建材质实例,创建好以后我们仍然可以更改它如材质名字

双击将弹出一个不同的窗口,但除了此物理材质和父级之外没有真正显示任何内容因此当您制作实例材质时它基本上会生成一个子级,如果你改变父级它会改变子级,因此无论我们对这对材质做什么都会自动更改任何实例材质

你可以右键单击此处您现在可以转换为参数,参数是您可以赋予这些主材质的值这些主材质可能会在实例材质中受到影响

因此假设您想更改颜色值,您可以添加滑块进行调整就是你在这些小选项中添加的东西,你可以稍后在实例材料中进行更改,所以现在我要进去我要把所有这些转换为参数。然后我要做什么要做的是将这些名称更改为应有的名称
暴露出来的参数与贴图位置,我们可以通过父对象创建多个实例材质来更改我们的贴图

也许我们想要改变一些东西比如我们可能想,在材质本身内动态调整粗糙度或者在材质本身内调整颜色。让我们添加一个乘数值这样我们就可以点击m和我们要做的是我们要创建一个值以便我们可以调整反照率的色调(变亮变暗)

如果你想改变它的颜色你可以做一个向量3,这样你就可以添加你想要的任何颜色再次将其转换为参数让我们做albedo

进入我们的主材质将进行排序,我们先创建一个组然后对暴露参数排序

我们将进入并且我们将添加另一个调整值,我们想要调整法线贴图值所以我们添加一个 flat normal和1-的节点来调整

让我们添加另一个有用的参数调整平铺,你所做的就是右键单击输入纹理坐标,所以纹理坐标是插入任何一个的uv部分,我们需要实时调整平铺率,所以我们需要添加乘法然后给它添加一个值(等比例缩放)也可以添加U值和V值独立调节单个轴向

我们还可以设置它的最大值

我们添加下一节点对比度RGB
这个v3 中v3 表示向量 3或3 个值,s是一个标量值所以我们将应用一个正常的标量值。所以我们将应用一个正常的标量值,我们将做零然后我们将改变,这是一个参数我们将做albedo

一个switch静态开关,是一个是或否的语句
我们可以修改它的默认值

选择节点按下 C 键就可以标注这些节点属性

现在我们已经完成了我们的大量材料和实例讨论,让我们进入节点内部关于材质函数的工作原理,所以材质函数是你有一个输入你有一个输出
让我们新建一个材质函数并打开它我们就可以看到我们的输出节点

01-现在我们需要首先有一个输入让我们做我们的纹理坐标因为这是我们肯定需要的东西
02-我们需要我们的乘法
03-然后我们将需要一个值;现在您无法控制它它将位于材质函数内部,这只能在材质函数内部工作
04-我们需要有一些可以让我们很好地访问这种节点,右键菜单你会到了这个输入节点,
然后我们更改一个标量,
并重新命名输入的名字
Use Preview Value Default:使用预览作为默认值
最后点击应用

05-我们怎么知道它是否有效,所以我们带入一个标量

我们做另一个附加向量,让我改变这个给你 u 平铺和 v 平铺

鼠标放在节点处按住Ctrl或出现一个小手同时按住鼠标左键拖拽就可以插入到其他节点的输入或输出

我们尝试将下面参数作成材质函数

首先我们确定我们有多少输入至少是4个,然后设置我们的输入函数,注意这里有个静态开关

本期回顾
学习了在着色器中创建信息所涉及的基本数学,我们学习了加减乘除你知道数学的基本原理。我们还讨论了什么是主材料以及实例,我们还讨论了如何制作自己的材质函数

本期分享就到这里!更多精彩+++关注联系我们   
下期见,学习不止,不止学习

本帖被以下画板推荐:

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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