阿赵UE学习笔记目录
大家好,我是阿赵。
继续学习虚幻引擎,这次来了解一下UE里面关于材质的一些概念性的东西。
一、材质
材质这个概念,在所有三维软件里面都会有,比如3Dsmax里面的材质球,或者Unity里面的Material。
之前在做导入钢铁侠模型的例子的时候,就已经有使用过UE的材质编辑器了。导入了资源之后,内容浏览器里面也会出现“材质”类型的资源。
如果我们要新建一个材质文件,可以在快速创建内容里面找到:
这样就可以创建一个空白的材质球文件。
那么,这个UE里面的材质文件,是否就相当于Unity里面的Material呢?
双击这个材质文件,可以打开UE的材质编辑器:
可以看到,在这个材质编辑器里面,左边是材质球效果的预览,左下角是一些设置参数。
然后右边,是一个似乎很熟悉的身影,和我之前介绍过的,在Unity里面使用的ASE可视化编辑Shader工具,相似度超过了90%,连快捷键几乎都一模一样。由于我之前对于UE的了解不算多,所以也不知道是谁参考的谁。不过鉴于这是UE的自带功能,而ASE只是Unity的一个插件,所以我觉得ASE参考UE材质编辑的可能性会比较大吧。
这个输出节点里面内容很多,关于那些内容是可以使用的,是和左下角的材质域选项有关。切换一下类型,会看到输出节点的可用接口会发生变化:
如果熟悉之前我介绍过的ASE插件操作的朋友,按道理会比较容易上手这套UE的材质编辑器。基本上材质是一样的,可以直接从内容浏览器里面把贴图拖到材质编辑器里面。
也可以鼠标右键点击空白的地方,然后选择创建自己需要的参数。不过UE的材质编辑器里面可以使用的东西比ASE多很多。这就证明了UE材质编辑器的功能会比ASE强大很多,但另一个问题时,UE材质编辑器里面想找一个能用的东西,需要对它非常熟悉,不然会找到吐血。
当然大部分常用的节点都是有快捷键的,比如按T再点击鼠标,就能创建一个贴图节点, 按1-4的数字再按鼠标,可以创建1-4维的向量节点,这些都是和ASE一样的。
由于这里只是介绍概念,所以细节就不多说,快速的把需要的贴图拖入编辑器,然后进行连线:
这样一个材质就编辑好了,可以在左上角的材质球预览里面看到效果。
编辑完之后,一定要记得保存。保存完之后,这个材质就可以使用在模型上了。
二、材质实例
熟悉Unity引擎的朋友,看完上面关于UE的材质文件的介绍之后,一般会发现有这些疑点:
1.Unity的ASE编辑器,是编辑Shader用的,为什么UE却是在编辑材质球的时候用呢?
2.UE的Shader在哪里?
3.是不是每个材质都需要这样编辑?能不能像Unity一样,使用同一个Shader的材质只是换一下参数就能有不同效果?
这里是一个概念性的问题,UE的所谓材质文件,更接近于Unity的Shader,可以直接在上面通过连接节点实现各种效果。不过区别只是UE的Shader,是可以当做材质球直接用的而已。
那么在UE里面怎样才能创建和Unity的材质球对应等级的东西呢?
这里要引入另外一个概念,叫做:材质实例。
创建材质实例的方法有2个:
1.选择需要的材质文件,右键——创建材质实例
这样创建的材质实例,默认就会关联上了之前选择的材质文件
2.在内容浏览器里面,创建——材质——材质实例
这样创建的材质实例,是空白的,需要自己手动去指定父项的材质。
创建完材质实例之后,双击打开,会看到这次的材质编辑器的界面和之前完全不一样了。
里面没有了节点编辑器,可以选择的参数也很少。不过也没有看到之前我拖进去的几张贴图可以替换的地方。
这是因为默认在材质里面创建的参数,都是私有的,如果想暴露在材质实例里面可以修改,还要进行一些操作:
比如我想把漫反射贴图暴露出来让材质实例可以替换,于是我选择漫反射贴图节点,右键——转换为参数
然后把参数的名字改为DiffuseTex。
保存一下材质文件,然后到材质实例的窗口去看看,会发现多了一个参数组,里面就多了一个叫做DiffuseTex的贴图参数。不过默认是灰色的,前面的勾选默认是没有勾的。
当我们需要修改这张贴图的时候,可以把前面的勾选勾上,然后就可以在后面的框里面换贴图了。
假如我现在想加多一个颜色参数,可以和漫反射相乘的,创建一个三维向量,连好线
然后也是在节点上右键——转换为参数
把名字改成ColorOffset
保存之后,回到材质实例,会看到又多了个颜色的参数,这时候可以修改颜色了
到了这一步,就已经达到之前预想的目的了,UE的材质相当于Unity的Shader,然后UE的材质实例相当于Unity的材质球。现在编辑修改材质,然后通过材质实例来单独修改暴露的参数,并赋给网格模型使用。
材质和材质实例有保存兄弟项和保存子项的操作,实际上就是另存一份。