阿赵UE学习笔记——9、材质和材质实例

阿赵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的材质球。现在编辑修改材质,然后通过材质实例来单独修改暴露的参数,并赋给网格模型使用。

材质和材质实例有保存兄弟项和保存子项的操作,实际上就是另存一份。



相关推荐
LuckyLay1 小时前
Golang学习笔记_49——解释器模式
笔记·学习·设计模式·golang·解释器模式
sauTCc1 小时前
DataWhale-三月学习任务-大语言模型初探(一、二、五章学习)
人工智能·学习·语言模型
RichardK.2 小时前
CCF-CSP第27次认证第1题 --《如此编码》
c++·学习
weixin_502539852 小时前
rust学习笔记13-18. 四数之和
笔记·学习·rust
宇希啊2 小时前
2025/03/06(嵌入式学习开始第二天)
嵌入式硬件·学习
种豆走天下2 小时前
Zookeeper学习
分布式·学习·zookeeper
~Yogi2 小时前
每日学习Java之一万个为什么
java·开发语言·学习
郭涤生5 小时前
在线程间共享数据_第三章_《C++并发编程》笔记
c++·笔记·算法
zjoy_22335 小时前
【Latex】latex公式手册大全||积分公式表示||极限表达||矩阵的各种表达
python·学习·线性代数·数学·矩阵·latex·高等数学
m0_748240026 小时前
Spring Security 官网文档学习
java·学习·spring