【MEL】アニメーションのコピーを簡単に

![]() | AriAnimationCopy |
オブジェクトについているアニメーションをグラフエディタなどを使用せずに、まるごとコピーします。
複数一度にペーストもできます。
前回紹介させてもらったように、Mayaのアニメーションのコピーはちょっとめんどくさい部分あるので、そう思った時に作ったものです。
時間のオフセット機能もおまけでついてます。
コピー&ペースト
コピー
コピーしたいアニメーションの付いたオブジェクトを選択して、Copyボタンでコピーです。

ペースト
アニメーションのつけたいオブジェクトを選択して、Pasteボタンでペーストです。

アニメーションがコピーされます。

複数にペースト
ペーストしたいオブジェクトの複数選択で複数一度にペーストなんてこともできます。

複数取得
複数オブジェクトを選択してCopyボタンでオブジェクト情報を一度に複数取得できます。

ペーストする際に一番上の項目で、どのオブジェクトのアニメーションをコピーするか選んでからPasteボタンで、
項目で選択したオブジェクトのアニメーションがペーストされます。

仕組みと注意
内部的な動作としては、
1: コピー元のアニメーションノード自体をコピー
2: コピー先につながってるアニメーションノードを削除 ※
3: コピー先にコピーしたアニメーションノードをつなぐ
という処理をしています。

リグなど複雑な構造の場合、この動作を意識して使用していいかどうかを判断してください。
・ロックや、別ノードがつながっている場合無視されます。
・コピー時は、オブジェクト名を取得しているだけです。
ペースト時にオブジェクトがなかったり、名が変わっていたり、アニメーションがないとコピーできません。
・アニメーションノード名はつなげるオブジェクトを見てリネームしています。
※ アニメーションノードが他につながっている場合、削除しません。
追記:2019/08/31
アニメーションレイヤーには非対応です。
アニメーションレイヤーのついているオブジェクトには使用しないでください。
コメントいただいて気づいたので、アニメーションレイヤーの対応も考えたのですが、
ノード的にはだいぶ複雑なことやってることがわかり一旦挫折。

今の仕組みとは別の何かシンプルアイディアで対応しないと出来なさそうですねこれ。
タイムのオフセット
コピーペースト昨日とは別で、独立したおまけ機能です。
真ん中のフィールドで入力したフレーム分、左右のボタンで全体のキーを移動させます。

更新
2023/04/30 ジョイントに対応
ダウンロード
よろしければこちらからダウンロードいただけます。
Download
つぶやき
ちょっとした作業の時あったら便利だなと思って作っただけなので、いろいろと行き届いていない部分があると思いますが、公開してみます。
コピーするアトリビュートを選ぶとか、アニメーションをコピーせずに直接つないだりとか、エクスプレッションで時間をずらしたりとか、色々できることや、実際やっていたことはあるのですが、現時点では、シンプルにまとめきれず・・・。
いったんはここまでで公開です。
tag : Maya, MEL, アニメーション, AriAnimationCopy,
スポンサーリンク
コメントの投稿
No title
今回、このアニメーションコピーのMELですが、アニメーションレイヤーを使っているとうまく作動しないようです。
アニメーションレイヤーを使っていても作動するようなことってできますでしょうか?
※アニメーションレイヤーエディタで選択しているレイヤー上のコピー&ペースト
宜しくお願いいたします。
Re: No title
アニメーションレイヤーの存在は知っていましたが、今までそれを使うような複雑なアニメーションを作っていなかったので全く気づきませんでした。
なので、少し内部の仕組みを調べてみたのですが、だいぶ複雑なことになっているみたいです。
必要な場面は多そうなので何とかしたい気持ちは大きいのですが、今のところかなり難しいです。
すみません。