Maya的粒子替换功能和高级的MEL命令colorAtPoint
作者简介
网名:老船长 QQ:149090900
导言:
本教程主要涉及Maya的粒子替换功能,其中用到较高级的MEL命令colorAtPoint,从而用贴图的亮度控制粒子替换的缩放效果。为了达到可以使用贴图的亮度要求,这里还使用了粒子目标功能,利用粒子目标的gaolU和gaolV属性作为读取贴图亮度的输入参数等等。
新建一个场景,选择Create->NurbsPrimitives->Plane(创建->曲面几何体->平面),创建一个Nurbs平面,调整为长方形,X轴缩放为15,Z轴缩放为10。(图01)
图01
选择Particles->Create Emitter(粒子->创建发射器),创建一个独立的粒子发射器,发射器的发射数量为100,其它保持默认。(图02)
图02
选择粒子Particle1,加选Nurbs平面NurbsPlane1,选择Particles->Goal(粒子->目标)后面得小方块,打开粒子目标选项盒,设置目标权重为1,点击Create为粒子创建目标,播放效果如图。(图03)
图03
默认情况下粒子都是被目标物体吸附到物体的点上,这里需要将粒子整齐的排列到平面上,所以要为粒子添加goalU和gaolV属性,在粒子的属性编辑器里找到每粒子属性卷展栏(Per Particle Array Attributes)和下边的添加动态属性卷展栏(Add Dynamic Attributes),点击General按钮,打开添加粒子动态属性窗口,在Particle粒子标签找到gaolU和gaolV属性。(图04)
图04
点击添加粒子动态属性窗口下边的OK按钮,添加goalU和goalV属性。在每粒子属性卷展栏里找到新添加的属性。(图05)
图05
这里因为要粒子横向排列70,纵向排列50,一共需要70×50(3500)个粒子,所以把粒子的最大数量属性max Count设置为3500。然后为粒子编写表达式,在每粒子属性卷展栏里找到新添加的属性,在其中一个右边的方框里点右键,在弹出菜单中选Creation Expression打开创建时表达式编辑窗口,为goalU和goalV编写表达式:
goalU=particleId%70/69.0;
goalV=int(particleId/70)/49.0;(图06)
图06
表达式是根据粒子的ID号属性为每个粒子计算出一个目标U和目标V的数值,从而使粒子整齐的排列在平面上。将时间滑块,设置为1到1000,播放动画到862帧的效果。(图07)
图07
选择粒子,选择Solvers->InitialState->Set for selected(解算器->初始化->初始化选择的物体),将粒子当前的状态初始化为开始的状态,使粒子在回到第一帧时还是有3500个粒子。(图08)
图08
选择Create->Polygon Primitives->Cube(创建->多边形几何体->方形),创建一个盒子,调整它的长宽高都为0.2,效果如下。(图09)
图09