バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はUmotion Proで二人組のアニメーションを作る方法メモの続きです。
前回の記事はこちら。
今回は↑の記事とは別の方式でやってみたのだけど、ちょっと微妙だったから↑の方式のほうがいいかもしれません(-_-;)
一応途中まで書いたので投稿しておきます。
空のオブジェクトを親にして二体のHumanoidを配置、Genericでプロジェクト作成すると二人組のアニメーションを作れるっぽい
こうすると一つのアニメーターコントローラー、一つのUmotionプロジェクトで二体のモデルを動かせるっぽい。↓参考

UMotion を使用してキャラクター間のインタラクションをアニメーション化するには、次の 2 つの方法があります。
①シーン内の 2 人のキャラクターをインスタンス化し、そこでアニメーター コンポーネントを削除します。アニメーターコンポーネントが割り当てられている空のゲームオブジェクトの子を両方にします(これで、両方のキャラクターが同じ親ゲームオブジェクトを持つようになりました)。ジェネリックタイプの新しいUMotionプロジェクトを作成し、ポーズエディタに空のゲームオブジェクトを割り当てます。これで、両方のキャラクターを同時に制御するアニメーションを作成できるようになりました。これにより、2つの別々のアニメーションで発生するオフセット(上記)の問題も解決されます。
②UMotion の “Sync” 機能を使用すると、UMotion を Unity のアニメーション ウィンドウまたは Unity タイムラインと同期できます。これにより、UMotion を使用して 1 つのキャラクターをアニメーション化し、同時に 1 つまたは複数の他のキャラクターでアニメーションをプレビューできます
②の方法は前回やったやつだけど、今回は①の方法でやってみたい。
「親がジェネリックなのにHumanoidを二体も動かせるの?」と思ったけど、普通にHumanoidのボーンで動かせました。
ブレンドシェイプもジェネリックのRootにあてがわれていて操作しやすい感じ。
しかし二体分のボーンが表示されるため、動かしたいボーンを選択するのがちょっと大変でしたね(;^_^A
実際にセットアップしてみる
とりあえずセットアップしてやっていきます。
二人のモデルのトランスフォーム位置を揃える
VRoid Studioサンプルの子を使います。
トランスフォームをコピペして位置を合わせる。
位置を同じにしなくても作れるけど、同じにしておいた方がアニメーションを使いまわす時にやりやすいというだけです。
しかしSync機能を使う場合はアニメーションプレビューすると0,0,0の位置で再生されるっぽいので、位置は0,0,0にあわせて作った方がいいかもしれない。
空のオブジェクトを作成して二人のモデルを子にする
空のオブジェクトを作成し、二人のモデルをD&Dして子にします。
モデルのアニメーターを削除、親の空オブジェクトにアニメーターを追加
あくまで親の空オブジェクトのアニメーションということになるため、こんな感じでやります。
GenericでUmotionプロジェクト作成、空のオブジェクトをPose Editorに読み込む
あとはGenericでUmotionプロジェクトを作成し、親である空のオブジェクトをPose Editorに読み込みます。
二人分のボーンが表示されるため、めっちゃ見にくいですね(-_-;)
とりあえず一人はRoot(Hips)を動かしてどかしておくとかしたほうが良いかも。
ブレンドシェイプは親のUmotionオブジェクトに読み込まれていますが探しにくいため、コンフィグモードのヒエラルキーで選択してからポーズモードに戻ると良いでしょう。
やっておいたほうがいいこと
髪や服のボーンは非表示にしといたほうが良いかも?
デフォルトだとこんな感じで顔すら見えませんΣ(゚Д゚)


髪や服のボーンはスクリプトやアセットで動かす人が多いだろうし、非表示にしといたほうがいいかもしれない。
コンフィグモードのヒエラルキーでボーンを選択してHideにすると非表示にできるため、使わないボーンは非表示にしておくと良いかも。
目のボーンとかは使うとしても最後だろうから、とりあえず非表示でいいかもしれない。
減らしたらこんな感じになった。まぁこんなもんか…。


設定がめんどくさいため、Umotion作成用のシーンにして保存しておいたほうがいいかな?
毎回設定するのもめんどくさいから、Umotion Proでアニメーションを作成する専用のモデルにしたほうが良いかな…。
というか設定したシーンを保存しておいて、Umotion専用にしたほうが良いかもしれない。
1人どかして、一人ずつポーズを作った方が良いかも
コンフィグモードで動かしたいモデルのRootを選択し、Poseモードで動かしてどかしておくと良いかもしれない。
HumanoidのプロジェクトだとHipsがRootの役割になっていたけど、Genericだと普通にRootっぽい。
ついでにRootボーンがでかすぎるのでちょっとちいさくしておく。これでだいぶ見やすくなりました。
IKはちょっと無理っぽい?
IKは一人分はなんとかセットアップできたけど二人はきついか…?
カスタムIKで手動でやればもしかしたらいけるかもしれないけど。
結論:一応これでも作れるけど、大変なのでSync機能で同期させて作った方が良いかも…
一応やれるか試してみたけど、これでやるのはなかなか大変そうです(-_-;)
Umotion Proはボーンがちょっと見にくいので、二人分のボーンが表示されると混乱しますね…。
このあたりはVeryAnimationのほうが見やすいし、シンクロ機能も手軽に使えますね。
↓の記事に書いた通り、最初に1人目のアニメーションを作ってSync機能でプレビューしておき、二人目のアニメーションを作りこんだほうが良いかな。
この方式のほうがモーションキャプチャーデータを使って二人目の動きを合わせやすい気がします。
でもジェネリックのモデルを複数動かす場合などはまた話が変わってきたりするのかな?
ジェネリックはあまり動かしたことがないから分からないけども(^_^;)
また何かあれば追記します(*^_^*)