若要对碰撞事件使用事件程序,包含程序的 MEL 脚本必须具有以下格式和参数列表:          

global proc

 myEventProc
(string $particleObject
, int $particleId
, string
 $geometryObject
) {
 Type MEL statements here;
}

其中,          

  • myEventProc 是 MEL 程序和脚本的名称。

  • $particleObject 是与几何体碰撞的粒子对象的名称。

  • $particleId 是碰撞的粒子的粒子 ID。

  • $geometryObject 是几何体的名称。

创建事件程序时,请注意下列几点:          

  • 不需要在程序中使用参数的内容,但是它们必须存在于程序定义中。

  • 使 MEL 文件与程序具有相同的名称,以便源化脚本时将程序加载到内存中。

  • 若要每次启动 Maya 都源化脚本及其程序,请将 MEL 脚本放在 Maya 项目的 scripts 文件夹中。例如,maya2014scripts

将脚本程序添加到粒子碰撞事件中        

  1. 通过选择“窗口 > 常规编辑器 > 脚本编辑器”(Windows > General Editor > Script Editor)打开“脚本编辑器”(Script editor)

  2. “脚本编辑器”(Script Editor)中,选择“文件 > 源化脚本”(File > Source Script)以源化包含程序的脚本。                

    注意:如果程序创建对象,则回放模拟时 Maya 不会删除它们。还可以源化程序,而不源化包含程序的脚本。有关使用脚本和程序的更多详细信息,请参见 MEL 和表达式部分。                      

  3. 根据粒子类型,执行下列操作之一:

    • 对于经典粒子对象,请在“动力学”(Dynamics)菜单集中,选择粒子 > 粒子碰撞事件编辑器(Particles > Particle Collision Events Editor)。            

    • 对于 nParticle 对象,请在“nDynamics”菜单集中,选择nParticle > 粒子碰撞事件编辑器(nParticles > Particle Collision Event Editor)。              

    将出现“粒子碰撞事件编辑器”(Particle Collision Event Editor)。        

  4. “粒子碰撞事件编辑器”(Particle Collision Event Editor)中,执行下列操作:

    • 单击“创建事件”(Create Event)。                  

    • (可选)如果您希望源粒子对象在碰撞后消亡,请启用“原始粒子消亡”(Original Particles Die)。                  

    • “事件程序”(Event procedure)字段中键入事件程序的名称。                  


,