# 材质蓝图入门2
此处参考资料为:
# 常用节点
# 流程控制节点
- SwitchParam:根据真假获取相应的值。
- Switch节点:根据某个bool参数值来判断要输出哪个值。
- if节点:比较两个值,根据比较结果来判断输出哪个值。从下面可以看出,box的中心为世界坐标原点。
# 数值操作节点
下面是一个关于数值节点的例子,可根据这个例子细细体会数值运算:
# 向量节点
下面实现的是冲着摄像机的始终是亮的:
# 数据节点
一些节点能输出数据,这样的节点被称为数据节点,它们一般为红色,常用的数据节点有:
- TexCoord[0]:输出UV坐标。
- Absolute World Position:会输出每个像素的世界空间位置。
- Object Position:输出当前物体的世界空间位置。
- VertexNormalWS:每个顶点的法线。
- PixelNormalWS:像素的法向量。
- Object Radius:输出物体的半径。
- Screen Position:好像是窗口固定了一张图片,TextureSample像是一个矩形小窗口在看这张图片。左上角是00,右下角是11。
- PixelDepth:像素深度,被渲染的点到镜头的距离。
- SceneDepth:同PixelDepth一样是被渲染的点到镜头的距离。同PixelDepth不一样:
- SceneDepth可以被用在后处理材质中,Pixel不能。
- SceneDepth可以取样被挡住的点。
- VertexColor:模型顶点上指定的颜色。可用来混合贴图:
# 工具节点
下面是一些常用的工具节点,他们很难被划分到某一类:
- Lerp:常用来做颜色混合。
- BumpOffset:可产生凹凸贴图偏移,视差贴图,位移贴图的效果。
- Depth Fade:和其他物体交界的地方作透明度的过渡。做烟雾的时候融入场景用它比较合适,可以用在烟雾粒子里面。
- Distance:求两个点之间的距离。以厘米单位返回。
- Fresnel:菲涅尔节点,摄像机到那个点的向量和它的法向量做的一个点积。在物体边缘创建高亮区域。
- if:判断节点。
# 材质函数
虽然核心节点都很有用的,但是有时候需要复杂的数学计算,这时候就需要把这些数学计算重复很多次,这个时候可以把这些结构封装进材质函数,重复使用。他们都是蓝色的节点,能够封装材质蓝图中的常用逻辑。可在材质编辑器右边的Function中查看,比如:
- Blend_Screen,Blend_Exclusion,Blend_PinLight对应于photoshop来混合两张贴图。
- BlendAngleCorrectedNormals:使用lerp node来混合两张法向贴图。
- MakeFloat:将多个Append节点压缩。
- CheapContrast:使用值来将增加贴图的对比度。
- DepthOfFieldFunction:提供景深的运算结果。0~1的范围代表从聚焦到模糊。
- Desaturation:减饱和度,会生成一个单调柔和的灰度图。