放置材质表达式和函数

有关如何在材质图中放置材质表达式和函数的操作指南。

Windows
MacOS
Linux

材质表达式材质函数 是虚幻引擎 4 中的构建块,用来创建功能完整的材质。 每个表达式或函数都是独立的黑匣,可以对其输入运行一小段代码,然后输出结果。 在本操作指南中,我们会学习将材质表达式和材质函数放入材质图的各种方法。

材质表达式

材质表达式 节点包含一小段 HLSL 代码,这些代码在材质内部执行非常特定的任务。 材质是使用材质表达式节点的组合来构建的,这些节点组合在一起可执行特定的任务。 例如,如果您希望在材质内部移动纹理,那么可使用"平移"材质表达式节点。 此节点包含特定的 HLSL 代码,这些代码指示材质沿特定方向移动其应用纹理的 UV 坐标,使它看起来像在运动一样。 您很快将看到,材质表达式节点是构建材质并与其互动的关键。

材质表达式与材质函数之间的差别

虽然材质表达式和材质函数都是用来创建材质的构建块,但在节点及其工作方式方面存在一些差异。 材质函数与材质表达式之间的主要差异是,材质函数是在材质函数编辑器中构造,并且是保存在内容浏览器中的资产。

  • 材质表达式 :材质表达式是静态代码段,只能执行编程时指定的操作。例如,乘法(Multiply)节点只能执行乘法,而永远无法将两个数字相加。您要更改其功能的唯一方法就是更改源代码。

  • 材质函数 :材质函数较为灵活,因为您可以创建材质函数以执行您所需的任何类型的计算。如果您希望材质函数不仅能够执行乘法,也能够执行加法,您可以在材质函数编辑器中进行相应的更改来实现,而不必更改源代码。

放置材质表达式

您可以采用下列三种方法将材质表达式放入材质图。

从选用板中拖放

您可以将任何材质表达式从 选用板(Palette)菜单直接拖放到材质图中。即,搜索所需的表达式,用 鼠标左键 单击选中它,然后将它拖到材质图中。当您释放 鼠标左键 时,材质表达式将放置在材质图中。

右键单击搜索

您也可以这样添加材质表达式:右键单击 材质图中的任何位置,从快捷菜单中选择所需的材质表达式,然后单击 鼠标左键 将它放入材质图中。您还可以使用键盘来搜索所需的材质表达式。找到所需的材质表达式后,按 Enter 键就可以将表达式节点放入材质图中。

键盘快捷键

您可以使用许多键盘快捷键来帮助您快速放置最常用的材质表达式。您可以通过 编辑(Edit)-> 编辑器首选项(Editor Preferences)-> 键盘快捷键(Keyboard Shortcuts)-> 材质编辑器产生节点(Material Editor Spawn Nodes)来更改产生材质表达式的键。

以下是当前默认键盘快捷键的清单,及按下按键时材质表达式将会创建的表达式。

键盘快捷键

材质表达式

A

"加法"材质表达式

B

"凹凸贴图偏移"材质表达式

1

"常量"材质表达式

2

"常量 2 矢量"材质表达式

3

"常量 3 矢量"材质表达式

4

"常量 4 矢量"材质表达式

D

"除法"材质表达式

I

"如果"材质表达式

L

"线性插值"材质表达式

F

"材质函数"材质表达式

M

"乘法"表达式

N

"规格化"表达式

O

"一减"表达式

P

"平移"表达式

E

"幂"表达式

R

"矢量 WS"表达式

S

"标量"表达式

U

"纹理坐标"表达式

V

"矢量取样"表达式

放置材质函数

您可以采用放置材质表达式的方法,将材质函数放入材质图中。

从选用板中拖放

您可以将任何材质函数从 选用板(Palette)菜单直接拖放到材质图中。即,搜索所需的函数,用 鼠标左键 单击选中它,然后将它拖到材质图中。当您释放 鼠标左键 时,材质表达式将放入材质图中。

选用板提供了搜索过滤功能,您可以将搜索结果限制为表达式、函数或这两者。要设置搜索过滤器设置,请使用 鼠标左键 单击 类别 按钮,然后从下拉菜单中选择您想要搜索的类别。

Placing_Functions_Search_Options.png

右键单击搜索

您也可以这样添加材质函数:右键单击 材质图中的任何位置,从快捷菜单中选择所需的材质函数,然后单击 鼠标左键 将它放入材质图中。您还可以使用 键盘搜索(Search)框中输入您要查找的名称,来搜索您所需的材质函数。找到所需的材质表达式后,按 Enter 键就可以将函数节点放入材质图中。

快捷 菜单无法按函数或表达式进行过滤,在您进行搜索时,这两者都将显示。

材质函数节点的顶部总是显示为蓝色。您还可以通过 鼠标左键双击 将它们打开,来查看它们所执行的操作。

Placing_Functions_Functions_Blue_Tops.png

从内容浏览器

这种方法仅适用于材质函数,您可以将它们从 内容浏览器 拖放到材质图中。即,在 内容浏览器 中查找所需使用的材质函数,用 鼠标左键 单击选中它,然后将它拖到材质图中。当鼠标移到材质图上时,释放 鼠标左键 即可添加您所选择的材质函数。

要在内容浏览器中查找材质函数,您需要在 Engine 文件夹中进行查找。 但是,默认情况下,Engine 文件夹处于禁用状态,您需要将其启用才能查看。 即,使用 鼠标左键 单击内容浏览器右下角的查看选项(View Options)。 然后,从弹出菜单中,选择 显示引擎内容(Show Engine Content)选项以显示 Engine 文件夹中的内容。

结论

材质表达式和材质函数是您使用材质编辑器的关键。 无论您构建哪一类材质,材质都由材质表达式和/或材质函数组成。 请记住,调整当前使用中的材质函数时,可能有导致其他使用该材质函数的材质及材质实例损坏的风险。 另外,每当您不确定某个特定材质表达式节点的功能时,都可以在因特网上快速搜索该材质表达式节点的名称。 因为大部分材质表达式节点都是纯 HLSL 代码,节点仅在节点论坛中,有关 HLSL 的 Microsoft 官方文档有时可以帮助您了解材质表达式可能执行的操作。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback