若要对碰撞事件使用事件程序,包含程序的 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 文件夹中。例如,Maya\<版本>\scripts\。
将脚本程序添加到粒子碰撞事件中
- 通过选择“窗口 > 常规编辑器 > 脚本编辑器”(Windows > General Editor > Script Editor)打开“脚本编辑器”(Script editor)。
- 在“脚本编辑器”(Script Editor)中,选择“文件 > 源化脚本”(File > Source Script)以源化包含程序的脚本。
注:
如果程序创建对象,则回放模拟时 Maya 不会删除它们。还可以源化程序,而不源化包含程序的脚本。有关使用脚本和程序的更多详细信息,请参见 MEL 和表达式部分。
- 在 FX 菜单集中,选择“nParticle > 粒子碰撞事件编辑器”(nParticles > Particle Collision Event Editor)。
将出现“粒子碰撞事件编辑器”(Particle Collision Event Editor)。
- 在“粒子碰撞事件编辑器”(Particle Collision Event Editor)中,执行下列操作:
- 单击“创建事件”(Create Event)。
- (可选)如果您希望源粒子对象在碰撞后消亡,请启用“原始粒子消亡”(Original Particles Die)。
- 在“事件程序”(Event procedure)字段中键入事件程序的名称。