UE4材质节点
材质中最为关键的是作为最终输出结果的引脚,根据情况的不同有的会使用,有的并不会被使用。
基础颜色(Base Color)
定义材质的颜色,接受参数为Vector3(RGB)。颜色采用float形式,任何超出范围的输入数值都将被clamp到0~1的范围内。
相当于在摄影中使用偏光镜滤除由反射引起的杂光之后的物体的颜色。偏光镜的效果可参照以下对比图。
右边为加了偏光镜后的效果。
金属(Metallic)
定义材质接近金属的程度。0~1的范围由低到高的接近金属材质。从个人感官上,金属性决定的是类似于高光反射强度的参数。
高光(Specular)
在大多数情况下保留默认的0.5即可的参数。调整的是非金属材质的高光反射强度,对金属材质无效。
经实际测试,在金属性为0.5时,这个参数几乎没有可视觉识别的影响。在金属性为0时可以为增加一定程度的高光反射。
粗糙度(Roughness)
定义材质的粗糙程度。基本和现实生活中一样,数值越低的材质镜面反射的程度就越高,数值越高就倾向于漫反射。
自发光颜色(Emissive Color)
定义材质自主发出光线的参数。超过1的数值将会被视为HDR参数,产生泛光的效果。
高动态范围成像(简称HDRI或HDR)是用来实现比普通图像技术更大曝光动态范围(即更大的明暗差别)的一组技术。高动态范围成像的目的就是要正确地表示真实世界中从太阳光直射到最暗的阴影这样大的范围亮度。
不透明度(Opacity)
定义材质的不透明度。
不透明蒙板(Opacity Mask)
只在Masked Blend模式可用的参数,与半透明度不同的是。不透明蒙板的输出结果只有可见和完全不可见两种。通常用于实现镂空之类的效果。
普通(Normal)
其实是法线参数,通常用于连接法线贴图。UE4中文一直使用『普通』这个翻译,不知是否有什么深意……
世界位置偏移(World Position Offset)
世界位置偏移参数使得材质可以控制网格在世界空间中的顶点位置。
使用时如果遇到剔除投影之类的错误,则需要放大网格的Scale Bounds,虽然这样做会导致效率下降。
世界位移(World Displacement)
与上面的属性相似,不过世界位移只能在Tessellation属性有设置时才起作用的。
多边形细分乘数(Tessellation Multiplier)
同样只有在设置了Tessellation属性时才可以使用,决定的是瓷砖贴片的个数。
次表面颜色(Subsurface Color)
只有Shading Model为Subsurface时才有效的引脚,用于模拟类似于人类皮肤这样在光线透过表面之后会有第二种表面颜色反射的情况。
透明涂层(Clear Coat)
透明涂层通常用于模拟在材质的表面有一层薄的透明涂层的情况,如钢琴烤漆之类的效果。
透明涂层粗糙度(Clear Coat Roughness)
决定透明涂层的粗糙度。
环境遮挡(Ambient Occlusion)
用于连接AO贴图的引脚。
折射(Refraction)
用于调整透明材质的折射率的。
像素深度偏移(Pixel Depth Offset)
当前官方文档没有说明。
材质里面常用的节点基本都在下面了:
constant 一维向量 R 快捷键1
constant2Vector 二维向量 RG 快捷键2
constant3Vector 三维向量 RGB 快捷键3
constant4Vector 四维向量 比三维多alpha 快捷键4
Add 加法,将两个通道上的数值或者纹理增加到一起 快捷键a
sub 减法 去掉共有的纹理
multiply 混合、乘法 取纹理重叠 快捷键m
divide 除法 快捷键d
abs 绝对值
appendVector 增加通道
TextureSample 纹理贴图
Panner 坐标平移 正负来代表纹理在该轴平移的方向,数值代表速度 快捷键 P
Rotator 旋转 以选定的X和Y的坐标交汇点进行一定速度的旋转 一般坐标设定为0.5
TextureCoordinate 纹理坐标 纹理数量等于UV值相乘 U为横向 V为竖向 快捷键U
Desaturation 去色 去除颜色,当赋予Fraction为0时,无作用,数值越靠近1,去色越明显
DepthFade 深度衰减 减少物体之间混合时生硬的效果 接线不透明度,默认Fadedistance为100,值越小接触点的透明度越低,根据需求定值
Time 时间 时间推进,一般连接正弦/余弦
Sine 正弦 在-1到0之间浮动的抛物线(曲线) 和time配合使用,比如可以用在物体自发光闪烁上(在-1到1之间反复运动)
Cosine 余弦 同上
Mask 分化蒙版,用来屏蔽、分离通道,分化多维向量的值等
if 做参数判断
Fresnel 菲涅尔效果 一般用在测光上
LinearInterpolate 线性插值 用来融合两个通道,当alpha值等于0时,融合值为A通道,为1时为B通道,因此0.5以下则为靠近A通道颜色,0.5以上靠近B通道,0.5为对等分融合
oneminus 反向,即反向颜色,如黑变为白,白变成黑 可以用来调整贴图蒙版
clamp 限制值,防止数值溢出
power 幂 让颜色或者光暗更加厚实,值过大就会出现色块
Particle color 用来调整粒子颜色
Particle SubUV 和textureSample用法一样,一般用在粒子上
常用节点2
Panner
对UV坐标进行平移,用于UV动画的实现。
Rotater
对UV坐标进行旋转,同样用于UV动画的实现。
BlackBody
这个节点可以对贴图应用一个黑体辐射效果,实际效果就像是过了一遍热成像扫描。
BumpOffset
这个节点用于实现视差贴图,使得贴图更具有真实感。
ConstantBiasScale
这个节点将输入值加上一个值之后再乘上一个值。例如将正弦函数的结果由[-1~1]压制到[0~1]就可以使用1,0.5的参数来操作。
Fresnel
这个节点将摄像机向量与网格法线向量进行点乘并应用到0~1的范围中。
当摄像机方向与网格的法线垂直时返回1,当方向一致时则返回0。Fresnel的计算在设置了法线贴图时则会使用法线贴图进行运算。这个节点可以用于区分边缘,例如玻璃材质就会使用到。
详细的用法可参照官方教程:Material – How To Use Fresnel in your Materials。
DepthFade
这个节点的作用是使得两个透明物体在叠加时显得更加自然。
DepthOfFieldFunction
这个节点的作用如其名称,提供景深的运算结果。0~1的范围代表从聚焦到模糊。
Desaturation
这个节点的作用是去色,会生成一个单调柔和的灰度图。
Distance
这个节点的作用是计算两个输入值的距离。输入值可以是两个点、颜色、位置或者向量。
FeatureLevelSwitch
这个节点允许对不同的设备使用不同的材质以保证材质在低运算率的设备上能够有平滑的切换。
QualitySwitch
这个节点可以让材质在不同的视频设置下使用不同的数值。
GIReplace
这个节点为材质提供在全域照明下产生不同间接光效果的方法。
LightmassReplace
这个节点可以使得材质在被到处为光照用时使用一个不同的值。
LinearInterpolate
就是Lerp,线性插值,基本上复杂的材质都会用到。
Noise
这个节点的作用是生成噪波图。
RotateAboutAxis
对给定的向量进行旋转,通常用于获得选择WorldPosition之后传递给WorldPositionOffset。
SphereMask
这个节点在指定的位置生成一个球形并进行距离计算,圆心处为1,外围为0。
AntialiasedTextureMask
对输入进行抗锯齿运算。