不真实引擎,就是虚幻引擎啦!
虚幻五的材质和此前的4相似,在我看来没有大变化。打算做一系列简单的,可以说非常基础的小教程,大家一起从入门到放弃!
这些内容不限于界面材质,而是更通用些的材质,后续可能会专门有涉及界面材质的内容,欢迎持续关注本系列。
更具体地说,材质能准确地告诉引擎某个表面应该如何与场景中的光源交互。材质定义了表面的各种特性,包括颜色、反射率、粗糙度、透明度等。
也就说,其实虚幻引擎中的材质其实跟我们在其他3D软件中理解的材质是一回事,就是一种管理3D网格体表现出某种材质特征的渲染管线。你可以将其理解成shader。而shader在Unity中则是其材质概念下边的一层概念,这词在Blender中也是材质的意思。如果要对应的话,虚幻中的材质对应了Unity中的shader,而“材质实例”对应的是“材质”。
所有的3D软件中的材质其实都比较类同,虚幻5中的材质与Blender中的材质更是极其相似,在公号“COTA搅拌机”后续的blender材质教程里,你会见识到这一点。
材质大部分被用于网格体,也就是模型上,似乎对界面相关的工作来说没啥意义,但UE5的材质是分类型的,其中一种就是专用于界面的,这个后边再说。
其他概念性的东西,在后文会伴随实际案例展开,咱们这就上UE5。
首先打开Epic Games Launcher,看到这样的界面:
点击左侧的三个页签中的最下边一个“虚幻引擎:
该页签中的内容就是虚幻引擎的相关项,点击该页面中的“库”,这里显示着你已经安装的虚幻引擎版本,这个教程里用到的是5.1版本,因此最好你也安装这一版本。
确定版本无误后,点击如图所示的启动按钮,“引擎版本”下方,或者是界面右上角的黄色按钮,即可启动引擎:
引擎启动后可以看到这样的界面,该界面展示了可创建的工程类型、历史工程以及路径、名称等信息:
我们选“游戏”,接着在右侧的项目类型里选“空白”:
然后按下图红框里的设置做相似的设置,选好项目的放置路径并给项目命好名称:
最后点击“创建”按钮,等待一小会,就可以看到打开的工程了:
上方占了大部分面积的区域是关卡预览,这个可以不用管,在下方的资产管理器里,选择“内容”路径,并在空白处鼠标右键,新建文件夹:
然后将其重命名,名称随意,这里用来放置我们将要新建的材质:
接着双击打开新建的文件夹,并在空白处右键,并选择“材质”,就可以新建一个材质:
将其进行命名,此处我将其命名为“caizhi_1",你也可自由选择其他名称,以能够识别为准。需要注意的是,在实际项目中,材质的命名需要遵守项目的相关规范:
命名完成后,我们得到一个空白的新材质,双击它,就可以打开如下图所示的材质编辑器,接下来对材质的所有编辑工作都在这里完成:
为了观看方便,可以拖动浮窗的标题部分,将其融并到主视窗中,效果如下图所示:
材质编辑器的界面布局同样可以通过拖拽各个窗口来进行自定义,上图所示的样式为我比较习惯的布局,你可以按照自己的习惯去进行配置。
这个界面中最明显的就是主材质节点,选择它后,细节面板中会显示材质的全局属性和设置。点击材质图表的空白处,则显示材质属性。
在”细节“面板中,有一些材质的基本设置信息需要关注:
首先是材质域,它决定这个材质在项目中的用途,从下拉菜单中可以看到,它分为表面、延迟贴花、光照函数、体积、后期处理和用户界面集中类型。表面是比较经典和常用的用途,即用于定义网格体表面的质感;延迟贴花则是可供堆叠的用途,与它的称呼一样,可以像贴花一样拼贴在模型的表面;光照函数则是将材质作为光源来投射光照;体积,相对于表面,用于描述模型体积,如体积雾类的质感;后期处理材质可以经过设置,以便用来与后期处理一起使用;用户界面为材质用于UMG或Slate用户界面时使用,是界面或者动效设计师接触比较多的材质类型,会在本系列后续内容展开。
此例我们选择默认的“表面”。
其次是混合模式
,定义材质如
何与其后面的像素混合。这和其他软件中的混合模式比较相似。例如,不透明着色器将完全遮挡后面的对象,而 半透明和附加(Additive)着色器将以某种方式与背景混合。
此例我们选择默认的“不透明”:
着色模型定义材质如何与光源交互。一般情况下我们创建的材质只是简单地使用默认光照着色模型。但是,毛发(Hair)、布料(Cloth)和皮肤(Skin)等事物需要特定着色模型,这些模型提供上下文专属输入,以便更轻松地创建这些类型的表面。
可以理解为,虚幻引擎中的材质被区分为几个大类,这些类被称为着色模型。我们用到的一般材质属于一类,被称为默认光照模型。但是一些特别的材质,如毛发、布料等,虚幻引擎就将它们归为其他类别并且提前封装成特别的着色模型,更方便制作这些类别的材质。
在其他3D类软件中的材质设定里也有类似做法,比如Blender中的原理化BSDF就相当于可以创建所有类型材质的节点:
但依然会提供封装好的漫射 BSDF、自发光(发射)、玻璃 BSDF、光泽 BSDF、毛发 BSDF等节点,可以通过这些现成的节点来更快创建出想要的材质,而不用只是依赖原理化BSDF从零开始调整。
如下图所示为光泽BSDF节点,只有与光泽相关的几个属性可供调整:
而像下图所示的玻璃BSDF节点,则是只有玻璃材质相关的属性可供调整:
借助这类思路,我们可以更好理解虚幻引擎中的材质模型类型。
此例我们选择默认的“默认光照”:
另外,材质编辑器的左上角有个视图,可以实时预览所创建材质的效果,这块区域的右下角有几个图标,可以更改预览用的模型类型,默认是球体,我们可以切换成方片,这样比较方便看出材质的平展状态下的效果,可依据实际情况,灵活切换模型类型:
其他的选项暂时可以不用管,以后遇到的时候会专门进行解释。以上这些都属于材质的属性,是材质的基础。要构建新的、有意义的材质,则需要为它添加材质表达式,我们将在此后简称其为“节点”。
材质的最终效果,通过将材质表达式之间用电缆的连接来完成,材质的总体外观是主材质节点中所有已启用输入的集体结果。将电缆从一个节点的输出引脚连接到另一个节点的输入引脚上后,两个节点之间就可以进行数据传输。诸多节点间通过有设计目的,有逻辑的连接,最终可以创建出有意义的材质。
此例中,我们将通过最简单的节点连接来演示这一过程。
先创建一个constant常量节点,可以在材质图表的空白处鼠标右键来找到它,并点击创建:
也可在材质编辑器界面右上角的列表里找到它,并将其拖动到材质图表中:
常量节点有几个类型,此处我们先创建一个Constant2Vector(常量2 矢量),它有三个输出引脚,输出的都是常量数据,可以对应到任何属性数值上:
常量节点非常常用,对应有快捷键,比如常量1为长按1,并按鼠标左键创建,常量2-4,则分别对应是长按2-4,并按鼠标左键创建,它们分别都长这个样子:
你可以尝试用快捷方式分别创建这些常量节点,通过点选或者框选删除它们:
可以将 RGB 颜色看作 Constant3Vector(常量3),其中每个通道都被赋予一种颜色(红色、绿色、蓝色),因此可以把它用来连接主材质节点的基础颜色输入引脚,为了定义此例的材质颜色,我们可以创建一个常量3节点,双击该节点,弹出颜色定义浮窗:
选择一个颜色:
然后把将如图的两个引脚进行连接:
在预览区域中,就可以看到,预览效果里,材质的颜色已经发生了对应的变化:
需要注意的是,此例中的主材质节点上的未从图表中的材质节点接收数据的输入会直接恢复为默认值。金属感默认为0(非金属)、高光度默认为0.5、粗糙度默认为0.5。因此,将这些值插入到"金属感(Metallic)"、"高光度(Specular)"和"粗糙度(Roughness)"的材质,其外观与之前显示的材质就会完全相同。
显然,如果我们用常量1节点为其中的某个输入定义数值,那么就会根据常量1的输入数值来定义该输入的值:
可以看到,“粗糙度”为0时,该材质效果变成完全光滑的状态:
除了直接在节点上双击数值为其修改外,也可以让节点处于选中的状态时,在右侧的细节面板上修改对应数值:
这就是最简单的常量节点的基本用法,有助于你理解虚幻引擎中材质的基本运行方式,和它们运行的本质。基于此,我们可以用多种类型的节点来创建效果更复杂的材质。
我们将在本系列的后续中展示这些内容,欢迎关注!
本文完。
本文来自微信公众号“COTA五号”作者:欧型兔(ID:cotadesign)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。