我使用一个表达式在第一个粒子物体死亡时发射粒子,它的效果非常好。我现在要做的是使用第二组粒子(具有定义的寿命.PP)来驱动关节旋转,再次使用表达式,即在粒子存在时,我不希望发生任何关节旋转,但是一旦它们消失,我希望关节旋转然后迅速恢复到零,即收缩后迅速放松。所以,我所拥有的是:
if (nParticleShape.age < nParticleShape.lifespanPP)
muscleController.rotateY = 0;
else if (nParticleShape.age >= nParticleShape.lifespanPP)
muscleController.rotateY = -0.1;
这个表达式可以很好地旋转关节,但是为了更好地控制,我真正需要的是另一个命令行,以便再次将关节旋转快速返回到0。此刻,当粒子发射再次开始时,旋转仅返回到0,并且年龄再次小于寿命。我想的可能是另一个其他的如果是行,当粒子数= 0时(即一旦所有粒子在超过lifeespanPP时已经消失),再次旋转y = 0?我尝试了这个,使用粒子计数:
int $numPar = `particle -ct nParticlShape`;
if($numPar == 0)
muscleController.rotateY = 0;
else if($numPar > 0)
muscleController.rotateY = -0.1;
Maya说语法是正确的,但是一旦执行并且没有旋转关节,它就会抛出各种错误。我真的很感激有关正确MEL命令的任何建议,用于旋转关节然后返回0?道歉,但我真的很糟糕!
提前感谢您的所有帮助和祝福,
玛雅
答案 0 :(得分:0)
而不是查询您每次都会创建一个emitor而且它最终会出现一个字符串列表错误,这个int $numPar =
粒子-ct nParticlShape ;
可能你想要int $numPar =
粒子-q -ct nParticlShape ;
这个