【Unity】キャラクターにUnityちゃんのモーションをさせる

 

f:id:s44511173:20190716164220g:plain

 

マッチョのmachokoさんにかわいらしいモーションをつけるため、Unityちゃんのモーションデータをお借りすることにしました。今回は、その手順をご紹介します。

※UnityちゃんのAsset利用規約に「キャラクターのイメージを著しく損なわないこと」とあって、これに抵触しないか非常に不安ですが(汗

machokoさんのデータをインポートする

assetstore.unity.com

 

まずはメインキャラクターであるmachokoさんのデータをAssetストアよりダウンロード&インポートし、prefabフォルダからDimples.prefabをシーンビューにD&Dします。

 

f:id:s44511173:20190716165450p:plain

TTポーズ・・・いや、Tポーズのmachokoさんがシーンビューに現れました。

これだけじゃ全くかわいくないですね。

machokoさんのかわいらしさが全く出ていません。(2回言った)

 

Unityちゃんアセットをインポートする

assetstore.unity.com

お次に、みんなのアイドルUnityちゃんアセットをダウンロード&インポートします。 

もし過去にダウンロードしたことがある場合、Assets->Import Package->Custom Package...から直接インポートすることもできます。

 

なお、アセットストアからダウンロードしたパッケージファイルはAppData\Roaming\Unity\Asset Store-5.xに保存されています。

このパスを変えたい場合、下記サイト様にて紹介されている方法で実現することができるようです。

unitygeek.hatenablog.com

 

Animator Controllerを作る

プロジェクトビュー->Create->Animator Controllerを選択し、Animator Controllerを作成します。作成したControllerは、machokoさんのインスペクタのAnimatorにD&Dします。これで、machokoさんのモーションを制御できるようになりました。

f:id:s44511173:20190716174549p:plain

 

作成したAnimator Controllerを選択した状態で、Windowメニュー->Animation->Animatorを選択し、Animatorウィンドウを表示します。

 

f:id:s44511173:20190716180813p:plain

f:id:s44511173:20190716180821p:plain


上のステートマシンが、実際に作成したmachokoさんモーション用です。
machokoさんのかわいらしさを全面的にアピールするため、idleモーションを多数用意しましたw

Animator Controllerの使い方は、いずれ別途記事にしたいと思っています。

 

Animator ControllerのStateにモーションを割り当てる

machokoさんのモーションは、

  1. アイドル
  2. 走る
  3. ゴール

上記3パターンとなっています。アイドルに関しては、かわいらしさをアピールするため(3回目)4パターンのモーションを入れています。

それぞれのステートをAnimatorウィンドウで選択し、インスペクタのMotionの横のボタンを押下すると、選択できるモーションが一覧表示されます。

Unityちゃんアセットをインポートしていれば、Unityちゃんのモーションがここに表示されるので、お好きなモーションを選ぶことができます。

 

Stateを遷移させる

Stateを遷移させるため、Animatorウィンドウ上でパラメータを作成します。

  1. idlePattern (アイドル用):int型(0~4)
  2. isRunning(走る用):bool型
  3. isGoal(ゴール用):bool型

アイドル状態は4パターンですので、スクリプトから1~4の値をランダムにセットしています。0になったら、アイドル状態を終了します。

machokoさんはWASDキー操作で移動するので、これらのキーが操作された際にidlePattern=0,isRunning=trueにセットします。

お題を達成できたらisGoal=trueにすれば、ゴールアクションしてくれます。

 

結論

  • Animator Controllerを使用し、キャラクタの状態に沿ってモーションを定義できる。
  • Unityちゃんアセットをインポートすると、モーションが選択できるようになる。