[Maya] 選択しているオブジェクトをリファレンス化 Lv 1 [Python]

久しぶりにMayaスクリプト。

選択しているオブジェクトをReference化するスクリプトが欲しいのでちまちま書き始めました。
が…これ、言うのは簡単なんですけどコネクションやらコンストレインやらアニメーションやら考えると色々とめんどくs…じゃなくて、やっかいなのです。
なので、とりあえず簡単な出力から徐々に継ぎ足し書き足しして行こうと思います。

とりあえず選択しているオブジェクトをリファレンス化して読み直す『だけ』のスクリプトから。

引数で指定したPathに選択しているノードをExportSelectionしてリファレンスとして読み直します。
元あったオブジェクトは削除しました。

なにも考慮しないとシンプルなコードです。

しかし、このままだとアニメーションがあったらカーブもリファレンス化されてしまうし
なにかしらコネクションがあると根こそぎExportして色々とアレな感じになるし
色々とマズーなので、これからスタートしてジワジワ改造していきます。

とりあえずは、アニメーションはリファレンスに入れずに切断→リファレンスの同じノードに指し直すように
書き直しました。

exportSelectionする前に、animCurveノードとアトリビュートのコネクション情報を取得→切断して
リファレンス化された後に、保存しておいた情報を元に再接続します。
グループ化されてない簡単なオブジェクトにアニメーションがある…程度ならこれでOKです。

これでも最初のに比べるといくらかマシですが、色々と問題ありまくりなので
次回は Hierarchyやらを考慮するように直しつつ、MayaのExportSelectionの挙動について書き足そうかなぁと思います ズサーc⌒っ゚Д゚)っ

コメントを残す

メールアドレスが公開されることはありません。


*