ميل: كيف يمكنني تحديد مستجيب نهائي لمقبض IK معين؟
سؤال
في كل مرة أقوم فيها بإنشاء مقبض IK جديد في Maya عبر MEL ، فإنه ينشئ مستجيبًا نهائيًا يسمى "effector1" ، أو "effector2" ، اعتمادًا على ما هو موجود في مشهد بلدي. لا أريد الاعتماد على اسم المستجيب التلقائي ، لذلك أتساءل عما إذا كانت هناك طريقة لإما:
أ) اسم المستجيب في وقت إنشاء مقبض IK ، أو
ب) حدد المستجيب لمقبض IK معين في MEL.
أي مساعدة سيكون موضع تقدير كبير، وذلك بفضل!
المحلول
إليك كيف يمكنك الحصول على المستجيب النهائي لإعادة تسمية مقبض معين يدعى Ikhandle1:
string $ee = `ikHandle -q -endEffector ikHandle1`;
// Result: effector1 //
rename $ee "mynewname";
// Result: mynewname //
نصائح أخرى
أعلم أن هذا متأخر حقًا ، لكنني صنعت نصًا جديدًا بمساعدة إجابة KB لإعادة تسميته وفقًا لما تم تسميته بالفعل. فقط في حالة ظهور أي شخص هذا في المستقبل.
//selects all IKHandles
select `ls -type ikHandle`;
//stores them in an array
string $handles[] = `ls -sl`;
//for each item in the array,
for($handle in $handles)
{
//create a new name by adding "_effector" to the end
string $newName = ($handle + "_effector");
//find the effector and store that name in a variable
string $efName = `ikHandle -q -endEffector $handle`;
//rename the effector
rename $efName $newName;
}
إذا كنت لا تريد إعادة تسمية الكل تعامل IK ، ببساطة التعليق على السطر الأول من التعليمات البرمجية ،
select `ls -type ikHandle`;
حدد جميع المقابض التي تريد إعادة تسمية الرمز وتشغيله.