Maya / 不明なノードを削除する

Mayaのシーンファイルを開いたらよく出てくるあのエラー。
大した問題がなければスルーすることも多いですが、
業務で内製スクリプトが走らないという問題があったので、今回本気で調べて解決してみました。

原因はたいてい、シーン内に「不明なノード」が存在するから。
バージョン違いのMayaで開いたり、別の会社のデータを開いたりするとよくあります。
元の環境では役目があって存在していたノードが、別の環境ではサポートされず「不明なノード」扱いになるようです。

今回はこの不明なノードを削除する手順をまとめてみました。
試したのは以下の3つです。

以下の作業はシーンデータが元に戻らなくなる可能性があります。
試すのは自己責任で。作業後は必ず別名保存で。

  1. シーンサイズの最適化
  2. スクリプトエディタで不明なノードを特定してアウトライナーで削除
  3. テキストエディタで開いて該当箇所を削除

シーンサイズの最適化

まずはすぐにできるお手軽な方法。

メニュー[File]>[Optimize Scene Size]
[Unknown nodes]にチェックを入れて[Optimize]
※よく分からなければ他の項目はチェックを外しておきます。

スクリプトエディタで不明なノードを特定して削除

開いたときにエラーが出てるはずなので、スクリプトエディタで確認します。

これが不明なノードとしてエラーが出ているので削除します。

Outlinerから削除

・Outliner [Display]>[DAG Objects Only]のチェックをオフ
・該当ノードを探して削除

今回はアウトライナーにも該当ノードが存在していませんでした。
なので直接データを編集します。

テキストエディタで削除

Mayaのシーンファイルを右クリック>編集
テキストエディタでシーンが開かれるので、エラーが出ていた行数までいって該当箇所を削除

上記の対応ができたら、念のため別名保存してから再度開き直します。
エラーが出なければ成功です。

Mayaシーンをテキストエディタで開くなら、コードの行数が分かるエディタが便利です。
私はTerapadを使っています。

一助になればと。

タイトルとURLをコピーしました