簡體   English   中英

在 Maya 粒子上使用 MEL 表達式來控制關節旋轉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM