General Utilities(一般效用工具):如图12。
下面一一介绍一般效用工具节点:
◆Array Mapper, 阵列映射节点,一般用于离子。例如为离子添加Per Particle Attribute(每离子属性)时,如rgbPP,可以为离子着色。如果使用纹理贴图或者Ramp节点为离子着色时,MAYA通过Array Mapper节点将Ramp或贴图的色彩映射到每个离子上,因为离子不像多边形含有UV信息,故必须使用Array Mapper节点来完成纹理空间到离子的映射。
◆Bump 2d, 2d凹凸节点,可以表现凹凸效果。通过Bump 2d节点,可以不通过建模而改变模型表面的法线,从而实现凹凸效果。一般来说,我们不需要单独创建Bump 2d节点,常用的凹凸纹理使用方法是直接将2d纹理用中键拖动到材质球的bump map属性上,MAYA会自动在材质球与纹理之间插入Bump 2d节点。
◆Bump 3d, 3d凹凸节点,与Bump 2d节点类似,同样可以表现凹凸效果。但Bump 3d是连接3d纹理与材质球的,而Bump 2d是连接2d纹理与材质球的。
◆Clear Coat,光亮涂层节点,可以模拟汽车烤漆等质感。 Clear Coat节点是个插件,需要在Plug-in Manager中勾选clearcoat.mll,才可以加载这个节点。把Clear Coat的Out Value连接到材质球的Color属性上可以预览Clear Coat节点的效果,一般最后我们把Clear Coat的Out Value连接到材质球的Reflectivity(反射度)属性上。
◆Condition,条件节点,可以作判断,相当于编程语言中的if-else语句。Condition节点可以完成很多工作,典型的用法是使用Condition节点制作双面材质。 Condition节点中含有两个输入条件: First Term(条件1), Second Term(条件2), 而判断标准是Operation(运算),含有Equal(等于), Not Equal(不等), Greater Than(大于), Greater or Equal(大于或等于), Less Than(小于), Less or Equal(小于或等于);
输出结果是Color If Ture(真值时的色彩)和Color If False(假值时的色彩)。
如果使用程序语言写出来就是:
if ("First Term" operation "Second Term")
{
Outcolor = Color If Ture;
}
else
{
Outcolor = Color If False;
}
◆Distence Between,间距节点,可以计算两点间的距离。 Distence Between节点的Point1和Point2可以接受其他输入,如Locater(定位器),灯光, Camera中心等,输入二者的距离。故我们可以使用Distence Between节点测量灯光与物体,或者物体与摄像机间的距离,并输出距离值。而Distence Between节点的工作原理和Measure Tool(测量工具)类似,如果Point1坐标是(x1,y1,z1),Point2坐标是(x2,y2,z2),则它们的距离为Sqrt[(x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) + (z1-z2)*(z1-z2)]。
◆Height Field,高场节点,使用Height Field节点,MAYA会自动创建一个平面,以快速预览Displacement(置换)效果,而且可以交互调整预览面的Resolution(分辨率), Color(色彩),Height Scale(高度缩放),从而改善置换效果。Height Field节点的用法是将其他纹理贴图用中键拖动到Height Field节点的Displacement属性上即可。 MAYA中的海洋预览面(Preview Plane)就是使用Height Field节点生成的。使用Height Field节点预览Displacement(置换)很快而且方便,有了Height Field节点,我们不需要将Displacement(置换)转换为多边形来预览置换效果了。值得说明的是,Height Field节点生成的置换表面无法被Maya Software渲染出来,只能用来预览或参考。
◆Light Info,灯光信息,与Sampler Info(取样信息)节点类似,可以输出灯光在世界坐标空间中的位置,灯光照射的方向,灯光到照射点的距离。使用Light Info节点可以制作一些跟灯光位置,光照方向等相关的质感特效。
◆Multiply Divide,乘除节点,可以对Input1和Iput2作乘除,乘方运算,并输出运算结果。Operation(运算)方式有No operation(无运算), Multiply(乘), Divide(除), Power(乘方)。用数学公式表示,如下:
设定Input1为(x1,y1,z1),Input2为(x2,y2,z2);
当Operation(运算)方式为No operation(无运算)时,Output=Input1;即:
output_X=x1;
output_Y=y1;
output_Z=z1;
当Operation(运算)方式为Multiply(乘)时, Output=Input1*Input2;即:
output_X=x1*x2;
output_Y=y1*y2;
output_Z=z1*z2;
当Operation(运算)方式为Divide(除)时, Output=Input1/Input2;即:
output_X=x1/x2;
output_Y=y1/y2;
output_Z=z1/z2;
当Operation(运算)方式为Power(乘方)时, Output = power(Input1, Input2);即:
output_X=power(x1, x2);
output_Y=power(y1, y2);
output_Z=power(z1, z2);
如:
power(3,0.5)=3^0.5,(对3开方)。
power(3, 2)=3*3,
power(3,4)=3*3*3*3。
◆2d Placement,2d纹理放置节点,可以控制纹理在模型表面的位置,方向,重复等。其参数有Interactive Placement(交互放置), Coverage(覆盖范围), Translate Frame(变换帧), Rotate Frame(旋转帧), Mirror U(U向镜像), Mirror V(V向镜像), Wrap U(U向重叠),Wrap V(V向重叠),Stagger(交错),Repeat UV(UV重复), Offset(UV偏移), Rotate UV(旋转UV), Noise UV(UV随机)等。 一般来说我们不需要单独创建2d Placement节点,在创建2D纹理时,如Checker,Coth等,MAYA都会自动创建2d Placement节点并于2D纹理作相应的连接。
◆3d Placement,3d纹理放置节点,与2d Placement节点类似,但用于3D纹理的放置。参数也略有不同,有Translate(变换), Rotate(旋转), Scale(缩放), Shear(切变), Interactive Placement(交互放置)等,但没有Repeat UV(UV重复)等参数。一般来说我们不需要单独创建3d Placement节点,在创建3D纹理时,如Leather,Marble等,MAYA都会自动创建3d Placement节点并于3D纹理作相应的连接。
◆+/- Average,加减平均节点,可以接受其他纹理或节点的输入,然后输出运算结果。Operation(运算)方式有No operation(无运算), Sum(求和), Subtract(求差), Average(平均值)。使用+/- Average节点,我们可以简单的混合两个以上的纹理的效果。用数学公式表示,如下:
如果输入的参数为3d的(含三个变量,如色彩的三个rgb分量),则MAYA显示Input3D[n];如果输入的参数为1d的(如Ahpha),则MAYA显示Input1D[n];下面以Input3D[n]为例:
当Operation(运算)方式为No operation(无运算)时,
Output=Input3D[1];
当Operation(运算)方式为Sum(求和)时,
Output=Input3D[1] + Input3D[2] + Input3D[3] + … + Input3D[n] ;
当Operation(运算)方式为Subtract(求差)时,
Output=Input3D[1] – Input3D[2] – Input3D[3] – … – Input3D[n] ;
当Operation(运算)方式为Average(平均值)时,
Output=(Input3D[1] + Input3D[2] + Input3D[3] + … + Input3D[n] )/ n;
◆Projection,投影节点,可以控制2D纹理到模型的投影方式。 Proj Type(投影方式)有Planar(平面), Spherical(球形),Cylindrical(柱形),Ball(球形),Cubic(立方体的), Triplanar(三角的), Concentric(同心的), Perspective(透视的)。其他参数有Interactive Placement(交互放置), Fit To BBox(与包围盒匹配) , Image(图像), U Angle(U角度),V Angle(V角度)等。其中Image(图像)属性可以接受其他纹理节点的输入。 一般来说,Projection(投影)节点常常用于NURBS类型的模型,使用Projection(投影)节点可以在NURBS表面上定位贴图的位置,因为对于NURBS曲面来说,没有UV点,不像多边形那样可以自由分配和编辑UV。 而大多时候我么也不需要手动创建Projection(投影)节点,只需要选择2D纹理为As Projection(投影)模式即可,在创建纹理节点的时候,MAYA会自动创建Projection(投影)节点,并与纹理作相应的连接。
◆Reverse,反相节点,反转输入的值(有时为相反数),并输出。例如输入为白色,Reverse节点输出黑色;输入为红色,Reverse节点输出绿色;输入为1,输出为-1。故我们常常使用Reverse节点实现反相功能。
◆Sampler Info,取样信息节点,可以获取模型表面上取样点的位置,方向,切线,相对于摄像机的位置等信息,其参数有Point World(取样点世界坐标), Point Obj(取样点局部坐标), Point Camera(取样点摄像机空间坐标),Normal Camera(摄像机法线), Uv Coord(UV坐标), Ray Direction(视线方向), Tangent UCamera(摄像机U向切线), Tangent VCamera(摄像机V向切线), Pixel Center(像素中心), Facing Ratio(朝向率), Flipped Normal(反转法线)。Sampler Info节点使用很频繁,例如我们制作双面材质时,需要使用Flipped Normal(反转法线)属性; 制作X光材质,水墨效果时,需要使用Facing Ratio(朝向率)属性等。
◆Set Range,设置范围节点,可以将输入值进行一定比例的缩放,然后输出。其参数有Value, Min/Max, Old Max / Old Min。其中Value可以接受其他纹理的输入,Old Max / Old Min为原来的最大最小值,Min/Max为缩放后的最大最小值。用数学公式表示,如下:
Output=Min + (Value-Old_Min)*(Max – Min)/(Old_Max – Old_Min)。
◆Stencil,标签节点,可以混合纹理边缘,扣除部分色彩等,Image(图像)可以接受其他纹理节点的输入, Edge Blend(边缘混合)和Mask(遮罩)可以调整纹理混合情况,当然Mask(遮罩)属性也可以接受其他纹理的输入。而HSV Color key(HSV色键)属性下可以设定要去除的色彩。一般来说我们也不需要单独创建Stencil节点,只需要选择2D纹理为As Stencil(标签)模式即可,在创建纹理节点的时候,MAYA会自动创建Stencil(标签)节点,并与纹理作相应的连接。
◆Uv Chooser,UV选择器,对于多重UV坐标,即一个模型含有多个UV组的时候,MAYA会自总创建Uv Chooser节点,以在渲染时进行UV选择。所以一般情况下我们不需要单独创建Uv Chooser节点。需要单独创建Stencil节点。
◆Vector Product,向量乘积节点,可以对向量(三维数组)作点乘,叉乘运算,也可对矩阵作乘积运算,并输出运算结果。Operation(运算)方式有No operation(无运算),Dot Product(点乘), Cross Product(叉乘),Vector Matrix Product(向量矩阵相乘), Point Matrix Product(点矩阵相乘)。最后还可以Normalize Output(规格化输出),即变换向量长度为1。由于纹理的色彩有rgb三个分量,可以把他们看成矩阵,用Vector Product节点对其作乘运算。 对于物体的位置,速度等向量,可以对其作点乘,叉乘运算。用数学公式表示如下:
设定Input1(x1,y1,z1),Input2(x2,y2,z2),则:
点乘:
Input1 . Input2=|Input1|*|Input2|*cosθ= x1*x2 + y1*y2 + z1*z2 ;
叉乘:
Input1 ^ Input2 = = (y1*z2 – y2*z1, x2*z1 – x1*z2, x1*y2 – x2*y1);