リファレンスファイルが見つからなかったとき、ダイアログで [Ignore Reference] を指定した場合、mayaはどう処理するのか・・・。
検証してみます。
まずは、[Skip] をした場合、リファレンスエディタを確認すると、リファレンスファイルのロードがされていない状態で読み込まれていることが分かります。
そして [Ignore Reference] した場合、リファレンスされているはずのノード名がリファレンスエディタで確認できなくなっています。
この Ignore Referenceした状態で前回のスクリプトを実行してみると、ファイルパスは表示されずリファレンスノード名だけが表示されます。
リファレンスエディタやアウトライナーなどを確認してもリファレンスノードは見当たらないのですが、シーンファイルをテキストエディタなどで確認するとノード自体は存在しているようです。
ノード名を指定して
selectコマンドを実行することで選択することも可能です。
リグを組む準備としてモデルファイルを確認すると、たまにファイルの中に _UNKNOWN_REF_NODE_
みたいなリファレンスノードを見つける事がありますが、たぶん Ignore
Referenceの成れの果てかもしれません。
モデルを確認するときには下のスクリプトを実行して、ノードを削除すると良いでしょう。
{ string $refs[] =`ls -typ "reference"`; for($ref in $refs) { lockNode -l off $ref; delete $ref; } }
参照先のはっきりしているリファレンスノードの場合、Reference
Editorを見ていると怪しい挙動を示しますが、参照自体は保持されるようです。
しかしアニメーションさせていたりする場合、リファレンスノードに記述されている
placeHolderListが削除されてしまうため、animCurveと参照先ノードとの接続が切れてしまうので、アニメーション用ファイルでは実行しない方が良いと思います。
0 件のコメント:
コメントを投稿