Mayaのシーンファイルを開いたらよく出てくるあのエラー。
大した問題がなければスルーすることも多いですが、
業務で内製スクリプトが走らないという問題があったので、今回本気で調べて解決してみました。
原因はたいてい、シーン内に「不明なノード」が存在するから。
バージョン違いのMayaで開いたり、別の会社のデータを開いたりするとよくあります。
元の環境では役目があって存在していたノードが、別の環境ではサポートされず「不明なノード」扱いになるようです。
今回はこの不明なノードを削除する手順をまとめてみました。
試したのは以下の3つです。
以下の作業はシーンデータが元に戻らなくなる可能性があります。
試すのは自己責任で。作業後は必ず別名保存で。
- シーンサイズの最適化
- スクリプトエディタで不明なノードを特定してアウトライナーで削除
- テキストエディタで開いて該当箇所を削除
シーンサイズの最適化
まずはすぐにできるお手軽な方法。
メニュー[File]>[Optimize Scene Size]
[Unknown nodes]にチェックを入れて[Optimize]
※よく分からなければ他の項目はチェックを外しておきます。
スクリプトエディタで不明なノードを特定して削除
開いたときにエラーが出てるはずなので、スクリプトエディタで確認します。
これが不明なノードとしてエラーが出ているので削除します。
Outlinerから削除
・Outliner [Display]>[DAG Objects Only]のチェックをオフ
・該当ノードを探して削除
今回はアウトライナーにも該当ノードが存在していませんでした。
なので直接データを編集します。
テキストエディタで削除
Mayaのシーンファイルを右クリック>編集
テキストエディタでシーンが開かれるので、エラーが出ていた行数までいって該当箇所を削除
上記の対応ができたら、念のため別名保存してから再度開き直します。
エラーが出なければ成功です。
Mayaシーンをテキストエディタで開くなら、コードの行数が分かるエディタが便利です。
私はTerapadを使っています。
一助になればと。