UE4材质函数帮助文档Word文档格式.docx
《UE4材质函数帮助文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《UE4材质函数帮助文档Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
输出名称(OutputName)输出的名称,此名称将显示在使用了包含该输出的材质函数的MaterialFunctionCall(材质函数调用)表达式
材质函数(MaterialFunction)指定要使用的材质函数。
StaticBool(静态布尔值)
StaticBool(静态布尔值)表达式用来为函数内的静态布尔函数输入提供默认布尔值。
此节点不会在任何内容之间切换,因此必须与StaticSwitch(静态开关)节点配合使用。
值(Value)布尔值True(选中)或False。
StaticSwitch(静态开关)
StaticSwitch(静态开关)表达式的工作方式与StaticSwitchParameter(静态开关参数)类似,但是它仅实现开关,而不会创建参数。
默认值(DefaultValue)参数的默认布尔值(用于确定哪个输入处于活动状态),即True(选中)或False。
输入
True当开关的值(Value)为True时使用的输入。
False当开关的值(Value)为False时使用的输入。
值(Value)接收一个布尔值,用于确定哪个输入处于活动状态。
TextureObject(纹理对象)
TextureObject(纹理对象)表达式用来为函数内的纹理函数输入提供默认纹理。
此节点不会对该纹理进行实际取样,因此必须与“纹理取样”(TextureSample)节点配合使用。
纹理(Texture)内容浏览器中要应用于此节点的纹理。
取样类型(SamplerType)此节点所要输出的数据类型。
材质属性表达式
BreakMaterialAttributes(中断材质属性)
在使用
分层材质
(“材质功能”系统的一项特性)时,BreakMaterialAttributes(中断材质属性)表达式十分理想。
在材质中使用
材质层功能
时,您可能想只使用材质层的某一个方面。
例如,您可能有一个定义漂亮的一般材质(如钢铁)的材质层。
您可能希望在最终材质中仅使用该材质层的“粗糙度”和“底色”属性,而不是使用整个材质层。
在此类情况下,您可使用BreakMaterialAttributes(中断材质属性)节点对材质层的所有传入属性进行拆分,然后仅连接所需的属性。
这也使您能够对各种材质属性进行复杂混合。
MakeMaterialAttributes(建立材质属性)
MakeMaterialAttributes(建立材质属性)节点的作用与BreakMaterialAttributes(中断材质属性)节点正好相反。
此节点将各属性汇聚到一起,而不是拆分属性。
这在您创建自己的
材质层
功能时非常有用,因为您将能够访问所有的标准属性以用于输出。
此节点也可用于复杂材质设置,在这些设置中,您希望定义多种类型的材质,并将它们全部混合到一个材质中。
在将MakeMaterialAttributes(建立材质属性)节点连接到材质时,您需要确保将主材质节点的
使用材质属性(UseMaterialAttributes)属性设置为
True(选中)。
这会将主节点折叠成单个输入,该输入将接受来自MakeMaterialAttributes(建立材质属性)节点的传入输出。
数学表达式
Abs(绝对值)
Abs(绝对值)是数学术语“绝对值(absolutevalue)”的缩写。
Abs(绝对值)表达式输出其接收到的输入的绝对值(无符号值)。
基本上,这意味着它通过删除减号将负数转换为正数,而正数和零将保持不变。
示例:
-0.7的Abs(绝对值)为0.7;
-1.0的Abs(绝对值)为1.0;
1.0的Abs(绝对值)也是1.0
用法示例:
Abs(绝对值)一般与
DotProduct(标量积)
配合使用。
DotProduct(标量积)的结果是-1..0..1,对DotProduct(标量积)的结果执行Abs(绝对值)的结果将是1..0..1。
Add(加)
Add(加)表达式接收两个输入,将其相加,然后输出结果。
这个加法运算按通道执行,这意味着输入的R通道、G通道和B通道等等将分别相加。
两个输入必须具有相同数目的通道,除非其中之一是单个常量值。
常量可以添加到具有任意数目输入的矢量。
项目
说明
常量A(ConstA)
接收被加数的值。
仅当未使用A输入时才使用。
常量B(ConstB)
接收加数的值。
仅当未使用B输入时才使用。
A
B
对0.2和0.4执行Add(加)的结果是0.6;
对(0.2,-0.4,0.6)和(0.1,0.5,1.0)执行Add(加)的结果是(0.3,0.1,1.6);
对(0.2,-0.4,0.6)和1.0执行Add(加)的结果是(1.2,0.6,1.6)
Add(加)通常用来使颜色变亮/变暗,或者使UV纹理坐标偏移。
AppendVector(追加矢量)
AppendVector(追加矢量)表达式允许您将通道组合在一起,以创建通道数比原始矢量更多的矢量。
例如,您可以使用两个
常量
值并进行追加,以建立双通道
Constant2Vector(常量2矢量)
值。
这有助于将单个纹理中的通道重新排序,或者将多个灰阶纹理组合成一个RGB彩色纹理。
接收作为追加目标的值。
接收要追加的值。
对0.2和0.4执行追加的结果是(0.2,0.4);
对(0.2,0.4)和(1.6)执行追加的结果是(0.2,0.4,1.6)。
Ceil(加一取整)
Ceil(加一取整)表达式接收值,使其
向上
舍入到下一个整数,并输出结果。
另请参阅
Floor(减一取整)
和
Frac(小数)
。
对0.2执行Ceil(加一取整)的结果是1.0;
对(0.2,1.6)执行Ceil(加一取整)的结果是(1.0,2.0)。
Clamp(限制)
Clamp(限制)表达式接收值,并将它们约束到由最小值和最大值定义的指定范围。
最小值0.0和最大值0.5意味着结果值决不会小于0.0,并且决不会大于0.5。
限制模式(ClampMode)
选择要使用的限制类型。
CMODE_Clamp将对范围的两端进行限制。
CMODE_ClampMin和CMODE_ClampMax将仅对范围的相应端进行限制。
默认最小值(MinDefault)
接收限制时用作最小值的值。
仅当未使用“最小值”(Min)输入时才使用。
默认最大值(MaxDefault)
接收限制时用作最大值的值。
仅当未使用“最大值”(Max)输入时才使用。
最小值(Min)
最大值(Max)
在最小值为0.0且最大值为1.0的情况下对0.3进行限制将产生0.3;
在最小值为0.0且最大值为1.0的情况下对1.3进行限制将产生1.0;
ComponentMask(分量蒙版)
ComponentMask(分量蒙版)表达式允许从输入中选择通道(R、G、B和/或A)的特定子集以传递到输出。
尝试传递输入中不存在的通道将导致错误,除非输入是单个常量值。
在这种情况下,会将单个值传递到每个通道。
选择传递的当前通道将显示在表达式的标题栏中。
R
如果选中此项目,那么会将输入值的红色通道(第一个通道)传递到输出。
G
如果选中此项目,那么会将输入值的绿色通道(第二个通道)传递到输出。
如果选中此项目,那么会将输入值的蓝色通道(第三个通道)传递到输出。
如果选中此项目,那么会将输入值的阿尔法通道(第四个通道)传递到输出。
如果ComponentMask(分量蒙版)的输入为(0.2,0.8,1.4)并选中R和B通道,那么将输出(0.2,1.4)。
Cosine(余弦)
Cosine(余弦)表达式反复输出[0,1]范围内的余弦波值。
最常见的情况是,通过将
Time(时间)
表达式连接至它的输入,输出连续的振荡波形。
输出值将在-1与1之间来回循环。
下图显示波的视觉表示:
周期(Period)
指定产生的波的周期。
换而言之,这是发生一次振荡的长度。
在任何需要振荡效果的场合,此表达式都非常有用。
通过将时间输入(速度)或输出(振幅)倍增,可以轻松地动态控制振荡的速度和振幅。
在以上示例中,颜色将以余弦频率振荡。
CrossProduct(矢量积)
CrossProduct(矢量积)表达式计算两个三通道矢量值输入的矢量积,并输出所产生的三通道矢量值。
给定空间中的两个矢量,矢量积是与两个输入都垂直的矢量。
接收三通道矢量值。
CrossProduct(矢量积)通常用来计算与另外两个方向都垂直的方向。
Divide(除)
Divide(除)表达式接收两个输入,并输出第一个输入除以第二个输入的结果。
除法按通道进行,即,第一个输入的R通道将除以第二个输入的R通道,第一个输入的G通道将除以第二个输入的G通道,依此类推。
除非除数是单个浮点值,否则两个输入必须具有相同数目的值。
切勿以零作除数。
接收被除数的值。
接收除数的值。
示例