【Unity】MMDモデルを使ってボールを蹴って物体を壊すゲームを作ろう！その３【基礎】

## 目次
【Unity】MMDモデルを使ってボールを蹴って物体を壊すゲームを作ろう！
[その１](http://qiita.com/kuuki_yomenaio/items/07a3214eb518c21a10b1)
[その２](http://qiita.com/kuuki_yomenaio/items/0b0cac2846a4ffef514d)
[その３](http://qiita.com/kuuki_yomenaio/items/f9be3083afc19fb0f86c)
[その４](http://qiita.com/kuuki_yomenaio/items/33cc2d234f3394bd0eab)
[その５](http://qiita.com/kuuki_yomenaio/items/95f54a7404d71c80cbaf)
[その６(完結)](http://qiita.com/kuuki_yomenaio/items/03ed5212de0a93f0de13)

## MMDモデルにモーションを付けよう
#### 行動アニメーションを作成
[その２](http://qiita.com/kuuki_yomenaio/items/0b0cac2846a4ffef514d)の続きになります。

次に歩く→走るモーションを作成しましょう
Animator右クリックからcreate state→From new Blend Treeを選択します。

![スクリーンショット 2014-03-27 21.48.08.png](https://qiita-image-store.s3.amazonaws.com/0/26453/25d792da-484f-c581-9973-d44a7d6e8b32.png)

Blend Treeというstateが出来ますので、名前をForwardとします。

次に、画面左下にあるParameterの＋ボタンを押下、Floatを選択し、
speedというパラメータを作成します。

![スクリーンショット 2014-03-27 21.50.27.png](https://qiita-image-store.s3.amazonaws.com/0/26453/5c61a83a-749d-de16-e1b3-437890ef6363.png)

speedパラメータを作成出来たら、Forwardをダブルクリックして、開きましょう。

![スクリーンショット 2014-03-27 21.52.38.png](https://qiita-image-store.s3.amazonaws.com/0/26453/f39263b9-d689-5988-5498-085a8f51c781.png)

今までの画面より１階層潜っている事に注目です。
画面左上にパンくずリストが出ていますね。
戻りたい時は画面左上の「Base Layer」を押下すれば元の画面に戻ることが出来ます。

Blend Treeを選択し、InspectorのMotionの右下にある＋ボタンを"2回"押してMotionを２つ作ります。

![スクリーンショット 2014-03-27 21.55.15.png](https://qiita-image-store.s3.amazonaws.com/0/26453/8a8e2378-1cf1-7e38-b7d0-937c4c15075b.png)

そして、上のMotionにwalkを下のMotionにRunを選択してください。

![スクリーンショット 2014-03-27 21.57.58.png](https://qiita-image-store.s3.amazonaws.com/0/26453/3ad5c3a0-77eb-7ba2-5118-f58b7092db75.png)

ここまで出来たら、Blend Treeを選択している状態で、
Previewの再生ボタンを押してみてください。
権太君が歩いていますね。
![スクリーンショット 2014-03-27 21.59.31.png](https://qiita-image-store.s3.amazonaws.com/0/26453/cae80fe4-c919-a2f1-7a0f-77d20fbf4fbe.png)
（わ、分かりづらくて申し訳ない。歩いています）

その状態のまま、Blend Treeにあるspeedのツマミをぐいっと右に動かして見てください。

![スクリーンショット 2014-03-27 22.01.02.png](https://qiita-image-store.s3.amazonaws.com/0/26453/f42b4546-bbac-8a7a-21b1-03a7ca14d138.png)

おお！権太君が走りだしましたね！

![スクリーンショット 2014-03-27 22.02.43.png](https://qiita-image-store.s3.amazonaws.com/0/26453/135fdc0e-da9f-1c6b-a30a-a0cdbdbc6e6d.png)


speedの値の大小によりwalkとrunが自動で切り替わるようにAnimator側で処理をしてくれています。
しかも、アニメーションが切り替わる時に不自然にならないように動きを自動でブレンドしているため、とても自然に動作が切り替わります。

これで待機アニメーション、行動アニメーションの作成が完了です。

#### 状態遷移を作成する
待機アニメーションと行動アニメーション作ったけど、
そのままでは単体の状態でしかないので、さらにこの２つの状態を行き来出来るようにしなければなりません。

左上のBase Layerを押下し、元の画面に戻ります。

![スクリーンショット 2014-03-27 22.06.44.png](https://qiita-image-store.s3.amazonaws.com/0/26453/e68de2b0-18a9-7516-27b3-8ceaea0f3690.png)

元の画面に戻ったら、Idle上で右クリックをし、
Make Trasitionを選択します。

![スクリーンショット 2014-03-27 22.07.25.png](https://qiita-image-store.s3.amazonaws.com/0/26453/0044c9e0-d4d8-6af7-00f4-5917348ff099.png)

すると線が引けますので、これをForwardにつなぎます。
（ForwardをクリックすればOKです。）
逆にForwardからIdleに戻れるように、
Forward→IdleにもMake Trasitionを作成します。
このようにお互いに線が繋がっている状態になります。

![スクリーンショット 2014-03-27 22.07.45.png](https://qiita-image-store.s3.amazonaws.com/0/26453/57b9927d-be99-355e-b5a0-239583d9e01a.png)

Idle→Forwardを繋いでいる線を選択し、
Inspector内のConditionsを以下のように設定します。
(Conditionsは少し下にスクロールしないと見えないかもしれません）

speed Greater 0.1

![スクリーンショット 2014-03-27 22.11.14.png](https://qiita-image-store.s3.amazonaws.com/0/26453/4b3616d2-e777-6272-8b61-f4fafedc48ee.png)

これは、パラメータspeedが0.1より大きな値になったらForwardするという命令になります。

逆のForward→Idleも作成します。
もう片方の線を選択している状態で、以下のように設定します。

speed less 0.1

![スクリーンショット 2014-03-27 22.14.21.png](https://qiita-image-store.s3.amazonaws.com/0/26453/67453d94-00ea-ad3f-6d06-e96132f0eba6.png)

speedが0.1より小さくなったらIdleするという命令になります。

#### Animator完了
以上でAnimatorの設定が完了です。

## その４につづく
その４まで来てしまいました…。
次回いよいよキャラクターを動かすスクリプトを組み、
ゲームにしていきます。
スクリーンショットを取りつつやってるので少し手間がかかってます…。ゲーム自体は出来ているので土日までには完結させます。