【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?


3楼猫 发布时间:2022-07-06 09:39:12 作者:银拱门 Language

什么是材质

什么是材质,这对于游戏爱好者来说其实是比较陌生的概念,那放在现实生活中,什么是材质呢?

仔细观察你身边的一切,你会发现,手机有手机的材质,关掉手机,看一看漆黑的屏幕,你会看到屏幕上有一些污渍和指纹,以及屏幕带来的一些反光。

再打开手机继续读下去吧。接着看看你的手,你能看到你手上的指纹,还有杂乱的褶皱,这些,就是真实的材质,你看着它,会意识到它是什么东西,木头、塑料、皮肤、金属....而在游戏中,材质所需要做到的,就是让我们看着这个物体,意识到它是什么。

在官方文档的解释中,材质是:定义了场景中对象的表面属性。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第0张

一个普通的Box,赋予它一个材质使它看起来是一块木头

什么是PBR

PBR即Physically based rendering,基于物理的渲染。PBR这东西其实看不见也摸不着,因为它实质上是一系列的理论、公式等等,其最终目的就是为了得出一套能模拟现实运转的渲染理论,Unreal Engine的材质系统便是基于PBR开发的,在我们以后会不断提到PBR,而如果对PBR有更浓厚的兴趣,可以自己看一看理论基础等等,这里就暂时先说材质。

材质之路第一步:创建材质

学习材质,就先简单的创建一个材质,并认识材质的各个节点设定。

安装UE的话,用EPIC客户端就可以安装,打开新建一个工程即可,这里不再赘述。

首先点击左下角的内容侧滑菜单,右键空白处---新建文件夹---取名"Materials"。

做好整理和命名规范非常重要,这极大的有助于我们的游戏开发。

进入文件夹后,右键空白处,点击材质。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第1张

创建一个材质

材质这一子菜单中,不仅有材质,还有:材质参数集、材质函数、材质实例、材质图层、材质图层混合、次表面面数文件,这些会在之后逐步了解和使用,目前我们仅需要创建一个材质。

材质的命名也需要注意一下,材质的命名通常会使用"M_"开头,这也是比较通用的一个命名方式,M代表Material,因此在找寻文件的时候,一看“M_Wood"就知道,这是一个木头的材质,”M_Water"就是水的材质,所以说命名非常重要。

打开材质之后,便能进入我们的材质编辑器。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第2张

材质编辑器

材质编辑器打开后会是这个样子的,我们根据图中框选的123逐个说明。

1:材质编辑面板,这个面板占据了屏幕的大部分空间,我们日后的大部分操作也都会在面板中进行。

2:展示面板,这里的球体可以暂时展示我们的材质是什么样子的,我们可以点击右下角的小图标将它更改成正方体、圆柱体、平面等。

3:详细设置面板,这里会有一些设置是针对整个材质的,在我们需要的时候会在这里调整。

这三个部分便是材质编辑器主要的三个板块,除此之外,在正上方还有一些按钮,以及左下方还有一些按钮,这些按钮都非常浅显易懂,把鼠标指上去停住一会儿就会显示说明,我们会经常用到左上角的“保存”按钮。

OK,我们打开了空荡荡的材质编辑器后,我们来看看处于画面中心的这一排面板吧。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第3张

从上往下以此看,首先M_New是我们材质的名字,接着你会看到基础颜色、Metallic(金属度)、高光度、粗糙度等等。

那么,这里就是用到我们PBR的地方了,基于物理的渲染定义了我们在修改材质的时候,会从金属度、高光度、粗糙度这些方向去定义修改,这是符合我们认知的,比如金属度越高,那它就越像是金属,粗糙度越高,则说明其表面越不平滑,这极大的方便了我们去制作材质,举个例子,UE3并非使用PBR,因此你想要让这个东西呈现金属的质感,那你就需要调整很多名称奇奇怪怪的参数,从而达到我们的效果,这非常不方便我们去理解和记忆。

基础颜色:这个很好理解,就是物体呈现什么样的颜色,红色蓝色紫色绿色,那么怎么给它上一个颜色呢?

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第4张

右键空白处

这里我们就可以右键空白处,搜索“Color”。

怎么样?找得到color吗?是不是有一堆奇奇怪怪的color但是就是没有最简单的color?

要赋予材质一个颜色,我们需要搜索“constant3vector”这个东西。你可以先按住横向数字键3,再左键点击空白处,快速创建这一节点。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第5张

接着,你可以双击它,选取一个你喜欢的颜色。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第6张

我选取了一个我喜欢的蓝色,然后我们点击确定,将小方块右上方的节点,左键按住,拖动到基础颜色节点。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第7张

这时,你就会看到,我们左边的球已经变成蓝色了,这说明我们成功的创建了一个可用的材质。

这个时候,你就会感到很奇怪,因为你会发现,constant3vector这个东西的翻译是:常数3向量。这个东西和颜色没有半毛钱关系,难道虚幻引擎工程师都是**?

其实并不是,材质实现的本质是通过代码进行的,电脑可认不得花里胡哨的颜色,那么,我们在材质编辑器完成操作后,编辑器会将我们的命令编译成着色器语言,着色器语言再转化给电脑看。

高级着色器语言,High Level Shader Language,通常简称为HLSL,HLSL有很多,比如windows平台的DirectX,这个大伙肯定很熟悉了。

UE的材质编辑器的好处在于,你可以不去真正的敲代码来实现功能,但是这玩意的本质还是代码,你可通过点击上方菜单的 窗口---着色器代码---HLSL代码来查看项目的HLSL代码。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第8张

所以说,这个时候你就明白,一个颜色,RGB三个值,刚好对应了constant3vector的三个值。

Metallic:金属度,字面意思,定义了这个物体像不像是一个金属,默认的值为0。

如何调节金属度呢?我们右键空白处,搜索constant,就能拿到一个常数框框。

快捷的方式,是按住横向键盘1,左键任意空白处创建。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第9张

我们左键点击选择它,然后在右侧就可以修改它的值了。

我们先保持默认的0,连接至Metallic节点,你会神奇的发现!

它没有任何变化!

对呀,因为默认值也是0。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第10张

我们将默认值更改为1,此时左侧的小球已经呈现出了金属的光泽,变成了一颗金属小球。

看起来很棒,那我们改成100试试呢?

并没有什么变化。

实际上,对于金属度的调节,值的范围你可以看成百分比,0就是没有,1就是百分百的金属。

并且,通常情况下,金属度的值要么是0,要么是1,0就不是金属,1就是金属。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第11张

如果把金属度改成0.7

如果你选取的值在0-1中间,那么这玩意看起来就既不像是金属,也不像是非金属,这玩意就会像是某种奇奇怪怪的外星材料,并不是说你不可以取中间的数值,只是在取值的时候你要想明白,这玩意这么搞,最终得到的效果是不是你想要的?

高光度:高光度突然又抽象起来了,似乎我们在生活中很难去定义一个高光,高光在编辑器中的默认值为0.5,它与金属度相同,同样是百分比调节,0是没有,1是百分百。

高光度其实更偏向于一些艺术性的修饰,我们可以创建一个常数,对比一下0高光度的效果,和1高光度的效果。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第12张

0高光度,跟一张图片一样

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第13张

1高光度,亮堂堂的

粗糙度:粗糙度,顾名思义,指这玩意粗糙不粗糙,粗糙像是泥地里的石头,还是光滑的像太空望远镜的镜片。默认值同样是0.5。

同样设定一个常数,我们观察一下0和1的取值。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第14张

极致光滑,可以看到反射的背景

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第15张

极致粗糙,有一种磨砂的质感

各项异性:难以理解的词汇!什么是各向异性?这个词汇似乎难以理解,我们可以暂时先了解到,各向异性通常用于制作头发的材质,为什么是头发?因为真实的头发是一根一根的,所形成的高光与一块平面并不相同,因此我们需要达到相同的效果,这时候就需要各向异性。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第16张

各向异性为0时

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第17张

各向异性0.5

这个时候你就会发现,白色发亮的地方,变成一个环状的。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第18张

头发上的高光

自发光颜色:又好理解了,自发光颜色嘛,就是说这玩意会不会发亮,很简单,0就是不亮,1就是亮,对不?

所以我们试一试,你就会神奇的发现。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第19张

这玩意怎么发白光?

为什么会是白光呢?

因为这是颜色嘛,给定一个1,那就是代表RGB都是1,那就是最亮的白色咯。

所以我们再次创建一个constant3,给一个红色。

就可以看到,这颗球冒着一种粉色的光。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第20张

接下来,我们看到了不透明度和不透明蒙版都是暗的,无法选择,这是为什么呢?

我们暂时先搁置在这里,后续会再进行讲解。

我们先保存一下材质,点击左上角的保存,此时引擎会编译着色器代码。

接着关闭材质编辑器,看到我们的关卡。

【PC游戏】[UE学习笔记]材质之路(1):什么是材质?材质在游戏里是如何呈现的?-第21张

选择一个你喜欢的物体,点击选择到它,然后将内容浏览器里,你创建的材质拖上去,OK,大功告成。

同时,你也可以拖到右侧的材质菜单里,这样也能完成材质的替换!

我们创建的第一个材质就完成了。


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com