MEL脚本无法正常运行

时间:2016-04-02 18:36:19

标签: loops rename maya mel

所以我有6个物体。其中三个带有_L后缀。而其他3个有不同的无关名称。我想将这些重命名为前3个对象,但将_L切换为R。我终于能够做到这一点。但是很奇怪为什么我在使用注释掉的行时没有得到完整的结果。基本上我只是正确地重命名了第一个对象,并且只是重命名了第二个对象而没有将L切换到R。第三个没有任何反应。如果我再次运行for loop,则错误说:“没有对象匹配名称”。我正确地重命名了第二个对象,第三个没有开关重命名,依此类推。我怀疑它与变量有关。

$list持有这些领域。 $list_old持有其他3个对象。

谢谢。

for ( $x = 0; $x < size( $list ); $x++ ) {

    $rename[ $x ] = ( rename( $list_old[ $x ], $list[ $x ] ) ) ;
    $subs[ $x ] = ( substitute( "_L1", $rename[ $x], "_R" ) );
    rename ( $rename[ $x ], $subs[ $x ] ) ;

    // this doesn't work
    rename ( rename[ $x ], ( $subs[ $x ] = (substitute( "_L1", ( $rename[ $x ] = ( rename( $list_old[ $x ], $list[ $x ] ) ) ), "_R" ) ) ) ) ;
    }

1 个答案:

答案 0 :(得分:0)

我觉得这更清洁 -

string $list_old[]; // which holds your sphere with _L suffix
string $list_new[]; // obj which needs the rename with old list but _R 

for ($x=0; $x<size($list_old); $x++)
    {
        string $new_name =(substitute("_L", $list_old[$x], "_R"));
        $rename[$x] = (rename($list_new[$x], $new_name));
    }

生成新名称,然后替换。