[英]Using MEL Expressions on Maya Particles to Control Joint Rotation
我使用了一個表達式在第一個粒子對象死亡時發射粒子,它的效果非常好。 我現在想要做的是使用第二組粒子(具有定義的壽命。PP)來驅動關節旋轉,再次使用表達式,即當粒子存在時,我不希望發生任何關節旋轉,但是一旦它們死了,我希望關節旋轉然后迅速歸零,即收縮后迅速放松。 所以,我所擁有的是:
if (nParticleShape.age < nParticleShape.lifespanPP)
muscleController.rotateY = 0;
else if (nParticleShape.age >= nParticleShape.lifespanPP)
muscleController.rotateY = -0.1;
這個表達式很好地旋轉了關節,但為了更好的控制,我真正需要的是另一個命令行來快速將關節旋轉再次返回到 0。 目前,當粒子發射再次開始時,旋轉僅返回到 0,並且年齡再次小於壽命。 我在想也許是另一個如果行,當粒子數 = 0 時(即一旦超過 lifespanPP 時所有粒子都消失了),再次旋轉 y = 0? 我嘗試了這個,使用粒子計數:
int $numPar = `particle -ct nParticlShape`;
if($numPar == 0)
muscleController.rotateY = 0;
else if($numPar > 0)
muscleController.rotateY = -0.1;
Maya 說語法是正確的,但是一旦它執行並且不旋轉關節就會拋出各種錯誤。 我真的很感激有關用於旋轉關節然后返回到 0 的正確 MEL 命令的任何建議? 抱歉,但我真的不擅長這個!
預先感謝您的所有幫助和最良好的祝願,
瑪雅
您每次都創建一個發射器而不是查詢,它最終會出現一個字符串列表錯誤int $numPar =
particle -ct nParticlShape ;
可能你想要int $numPar =
particle -q -ct nParticlShape ;
這
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.