D日記

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

MENU

【MaxScript】複数maxシーン内の指定ノード名を一括リネーム

こんにちは(笑)
今回は、タイトル通りのMaxScriptを作ってみました!

作ろうと思ったきっかけ

・あるキャラのモーションをファイル毎に作っていました。
 → 「待機」「歩き」「走り」などなど。
・途中で、キャラの骨の名前のミスに気づきました。
・一つ一つファイルを開いてリネームして行くの面倒くさい!

スクリプト様に手伝って頂きますか٩(๑❛ᴗ❛๑)۶

わりとよくあること(?)なので記事にさせて頂きます。

仕様

・指定されたフォルダ内の全Maxファイルに対して処理を行う。
 → Maxファイルが存在しない場合は処理を行わない。
・指定されたノード名がシーン内に存在する場合はリネーム処理を行う。
・指定されたノード名がシーン内で複数ある場合は、そのうちの1ノードしか処理されない。
 → これは直さないといけませんね ^ _ ^;
・処理している間は、Maxファイルを Open <-> Close と繰り返します。
 → Open時に何かしらのダイアログが出る場合は手動で閉じる必要があります。
  → とりあえず、Enterキーおしっぱで私は大丈夫だと思ってますが・・
・リネーム対象ノードが存在しなかったシーンがある場合は、「MAXScriptリスナー」ウィンドウに出力する。

使ってみる

Box1つと名前表示用のTextノードがあるシーンを用意。
TextノードはBoxの名前変更をわかりやすくするため、Boxの名前と接続されています。
f:id:ponta565:20170520125133p:plain

それらのファイルをコピペして4つほど用意 f:id:ponta565:20170521200806p:plain

使用動画
youtu.be

ちなみに、リネーム対象ノードが存在しなかった場合は
シーン名が「MAXScriptリスナー」ウィンドウに出力されます。
f:id:ponta565:20170520131231p:plain

スクリプト

複数maxシーン内のノード名を一括リネーム