あるみにメモ

技術的なメモをかくかもしれない

Unityでキズナアイ(Vtuber)を動かしたい-2-(歩く編)

前回の続き。

aluminum-pepe.hatenablog.com

今回はUnity内で「キズナアイが動かせたら最高でしょ!!!!!」という話です。

Mecanimにアニメーション適応して動かすのはUnityのお話

初心者だったけどキズナアイを動かしたい一心でそれなりに動かせるようになったあるみにの軌跡。


まずは前回記事の状態から。


f:id:aluminum_pepe:20180619013653p:plain


?なんか美少女がいるな……!

キズナアイちゃんだ!!!(茶番)


Unityでキズナアイを動かしたい

タイトル回収(゚∀゚)キタコレ!!

UnityにMMDデータをインポートし、キズナアイが降臨なされたので、今度は実際に動かしたい。

同じくMMDのモーションのデータ(vmd)をキズナアイに適用して動いてもらおう。


アイちゃんは人型です

前準備。

前回Assetsの部分に放り込んだキズナアイのデータを見てみる。

hierarchyの方じゃない元のデータ(prefab)の方。

クリックすればinspectorウィンドウに詳細が表示される。


f:id:aluminum_pepe:20180619013907p:plain

ここでインポートしたMMDデータの管理・設定ができる。ここでは「Rig」を選択。


f:id:aluminum_pepe:20180619014346p:plain

図のように、「Animation Type」を「Generic」から「Humanoid」に変更。

これは「キズナアイは人型だよー」って設定(初期化)してます。

MMDを動かすアニメーション、もっというと「骨格(ボーン)」を動かすアニメーションデータは、適用したオブジェクトが「Humanoid」設定されてないと、ウンともスンとも言わなくて絶望するので気を付けよう。

マジでどうしようかと頭を抱えていた時期もありました


vmdデータをプロジェクト内に入れる

前回ダウンロードしたMMD4Mecanimに既に入っている「歩き.vmd」を適用してみる。

f:id:aluminum_pepe:20180619015219p:plain

コレコレ↑


f:id:aluminum_pepe:20180619022201p:plain

というわけで例にもよってD&Dでこのvmdファイルをプロジェクト内に放り込む。


f:id:aluminum_pepe:20180619015557p:plain

あっさり入りました


f:id:aluminum_pepe:20180619015618p:plain

操作しやすくするためにキズナアイのfbxとかがあるとこに入れとくといいかも


vmdデータからアニメーションを作成

pmxデータがそのままUnityで使えないのと同じく、vmdデータも入れたら使えるわけではないので、これもMMD4Mecanim様の力を使ってアニメーションを作成していく。

ほぼ手順は前の操作とおんなじ。

改めてMMD4Mecanimを選択します。規約とかを読んでチェックを入れて進む。


f:id:aluminum_pepe:20180619021133p:plain

そして「歩き.vmd」をVMDの場所に入れて、プロセス!!

またキズナアイのオブジェクトごと作っちゃうんじゃない?かというとそんなことはないので。


f:id:aluminum_pepe:20180619021425p:plain

初期ポーズが歩いてそうな感じになった。別にここは手を広げてくれてるだけいいのだけど……


f:id:aluminum_pepe:20180619021540p:plain

fbxの▽を開いてみてみると、いかにもムービーなアイコンのアニメーションデータが作成されてる!

試しに右下の窓で再生できそうなんでみてみよ


ほほーーー歩いてるねえ(かわいい)

なんか歩き方が

よーし

じゃあまあ実行しようか!


f:id:aluminum_pepe:20180619023234p:plain

……動かないです。かわいいけど。


Animator Controller をキズナアイに適用

アニメーションデータ作っただけで動くわけないでしょ。動きそうなポーズしてるけど。

キズナアイがどんなときに、どんなアニメーションを再生するか、そういったことを管理する何かが必要。

というわけで、Unityパワーを使っていこう。


f:id:aluminum_pepe:20180619023423p:plain

project押して


f:id:aluminum_pepe:20180619023754p:plain

Animator Controllerを選択!


f:id:aluminum_pepe:20180619023820p:plain

適当にKizunaai Animator Controller と名付けた


Animator Controller って?

Unityのコンポーネントの一つ。

Animator Controller ビュー (メニュー: Window > Animator Controller) でキャラクターの挙動を表示、設定することができます。 アニメーターコントローラーを利用すると、キャラクターやオブジェクトのアニメーションクリップや関連するアニメーション遷移のセットを配置し管理できます。

だって。


続くよ


f:id:aluminum_pepe:20180619024208p:plain

クリックすると虚無空間に二つブロックがある画面が出るんで、虚無を右クリックして虚無ステイトを作る。


f:id:aluminum_pepe:20180619033922p:plain

虚無ステイトにWalkとでも名前を付けて、作成した「歩き_vmd」をMotionのところにD&D。

たぶん「Entry」から矢印が伸びて「Walk」が黄色くなってるはず。このコントローラでは状態の開始から「Walk」状態に移行して適応されてるモーションを再生してくれるという感じになる。


f:id:aluminum_pepe:20180619035300p:plain

あとはこれを、Scene内にある(hierarchy)の実際のキズナアイのオブジェクトに適応させるだけ。

今度こそ動くよ!!!!!!!実行!!!!!!!!!!


……ちょっと歩いた。

アニメーションの長さがここまでなので、ここで終了。

流石に解せない。


どこまでも歩いて貰おう

最後にいつまでも歩いてくれるようにする。

もう一度fbxの方のkizuaaiを選択して、「Rig」でなく「Animation」に切り替え。


f:id:aluminum_pepe:20180619040158p:plain

ここでClipsで「歩き_vmd」が選択されていることを確認して、赤枠で示した「Loop Time」をチェック。

ここでは色々とアニメーションの細かな設定が出来るのでお世話になる。


すかさず実行


「歩き_vmd」のアニメーションがループ仕様なのでいつまでも歩いてくれるぞ!!!!!



ああ~どこいっちゃうのアイちゃん~~~~~~



……



まとめ

てなわけで、vmdを適用させてキズナアイが動かせた。

Animator Controller にも触れたので、「止まってる」、「歩いてる」を条件によってアニメーションを設定したり、向きや移動速度なんかを与えてどうのこうのすれば自由に動かせそうだね!

それについてもいつか書くとして……


vmdが適用できる……ってことは

踊らせてみたができるんすよねえ

じゃあ躍らせよう!!!!!!!!!!!!!!!!!!!!!

長くなったから分ける!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!





次回、踊る編