1

每次我通过 MEL 在 Maya 中创建新的 IK 手柄时,它都会创建一个名为“effector1”或“effector2”的末端效应器,具体取决于我的场景中的内容。我不想依赖末端执行器的自动名称,所以我想知道是否有办法:

a) 在创建 IK 手柄时命名效应器,或者

b) 为 MEL 中的特定 IK 控制柄选择效应器。

任何帮助将不胜感激 - 谢谢!

4

2 回答 2

4

以下是获取和重命名名为 ikHandle1 的特定句柄的末端执行器的方法:

string $ee = `ikHandle -q -endEffector ikHandle1`; 
// Result: effector1 //  
rename $ee "mynewname"; 
// Result: mynewname //
于 2009-09-08T19:16:29.983 回答
0

我知道这真的很晚了,但是我在 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`;

选择要重命名的所有句柄并运行代码。

于 2014-05-15T22:12:18.313 回答