MRが楽しい

MRやVRについて学習したことを書き残す

UnityでGenericリグのキャラクターモデルのアニメーションを共通化できる条件を調査する

本日は Unity の小ネタ枠です。
UnityでGenericリグのキャラクターモデルのアニメーションを共通化する条件の調査結果を記事にします。

UnityでGenericリグのキャラクターモデルのアニメーションを共通化する

本記事は以下の前回記事の続きです。
bluebirdofoz.hatenablog.com

今後の3Dモデルファイル更新時に参考にするため、共通化できるリグの条件を確認します。
以下のような尻尾を振るモーションを作成し、アーマチュアオブジェクトに特定の改変が行われた際、その後もアニメーションが流用可能かチェックします。
f:id:bluebirdofoz:20201017211015j:plain

アーマチュアオブジェクトの名前変更

アーマチュアオブジェクトの名称を変更した場合です。
f:id:bluebirdofoz:20201017211027j:plain

モーションは全く動かず、アニメーションは共通化できません。
[Root node]の指定を合わせても共通化できませんでした。
f:id:bluebirdofoz:20201017211039j:plain

ボーン名の変更

一部のボーンの名称を変更した場合です。
まず、体のルートに当たる hip ボーンの名称を変更した場合です。
f:id:bluebirdofoz:20201017211049j:plain

モーションは全く動かず、アニメーションは共通化できません。
f:id:bluebirdofoz:20201017211100j:plain

ボーン名の変更(途中)

一部のボーンの名称を変更した場合です。
こちらは尻尾の途中に当たる tail_third ボーンの名称を変更した場合です。
f:id:bluebirdofoz:20201017211110j:plain

モーションは名称を変更していない tail_second ボーンまではアニメーションが再生されます。
名称を変更した tail_third ボーンから先は tail_second ボーンの動きにそのまま追従します。
f:id:bluebirdofoz:20201017211121j:plain

ボーンの追加

ボーンを追加した場合です。
尻尾の途中に当たる tail_second ボーンから追加のボーンを枝分かれで追加した場合です。
f:id:bluebirdofoz:20201017211131j:plain

モーションは問題なく共通化されて動作します。
f:id:bluebirdofoz:20201017211141j:plain

ボーンの削除

ボーンを削除した場合です。
尻尾の途中に当たる tail_third ボーンから先を削除します。
f:id:bluebirdofoz:20201017211151j:plain

ボーンを削除していない tail_second ボーンまではアニメーションが再生されます。
削除した tail_third ボーンから先は tail_second ボーンの動きにそのまま追従します。
f:id:bluebirdofoz:20201017211200j:plain

ボーンの分割

ボーンを分割した場合です。
尻尾の途中に当たる tail_first のボーンを分割して2つのボーンにしてみました。
f:id:bluebirdofoz:20201017211339j:plain

元々の tail_first ボーンまではアニメーションが再生されます。
分割で追加された tail_first.001 ボーンから先は tail_first ボーンの動きにそのまま追従します。
f:id:bluebirdofoz:20201017211351j:plain

ボーンの移動

ボーンを移動した場合です。
尻尾の途中に当たる tail_second のボーンを編集モードで移動してみました。
f:id:bluebirdofoz:20201017211400j:plain

メッシュにボーンの位置変更が反映され、その状態でアニメーションが再生されます。
f:id:bluebirdofoz:20201017211413j:plain