D日記

モーションアーティストの技術ブログだよ。日常も書くよ。

MENU

【Maya】FBXをインポートした際にノード名に含まれる「FBXASC032」を「_」に置き換えるだけのスクリプト【MEL】

3dsMax から書き出されたFBXデータに「FBXASC032」って文字列のついたノードってあるじゃないです。
よく見るのはBipedデータ(だったもの)についているやつ。
f:id:ponta565:20190623015338p:plain

あれ元々は半角スペースの部分ですよね。
Mayaにインポートした際、見た目的にも散らかってるし、そもそもジョイントだけじゃなくて、マテリアルやテクスチャとかもこうなっちゃいますしね。
f:id:ponta565:20190623015253p:plain

とりあえず半角スペースをすべてアンダーバーに置き換えるスクリプトだけ置いておきますね(コトッ)
「FBXASC032」以外の「FBXASC****」は今回は知らん( ー`дー´)

print( "■ renamed----------------------------------------\n");
string $serchText = "FBXASC032";
string $convText = "_";

for( $node in ls() ){

    string $nameStr = $node;

    // ノード名に serchText が含まれていなかったらスキップ
    if( gmatch( $nameStr , "*"+$serchText+"*" ) == 0 )continue;


    $renamedStr = substituteAllString( $nameStr , $serchText , $convText );
    
    // リネーム 
    rename( $node , $renamedStr );
    print( $nameStr+"  --->  "+$renamedStr+"\n");
}


実行するとこんな感じでリネームされます。終わり。
f:id:ponta565:20190623014905p:plain