09 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【Unity】Unity4.3の2Dツールでアニメーション ② 

こんにちは~。大坂です。
なんか3月も後半に入ったのに、今日は寒いですね!
横浜の最高気温9度ですね・・・。

先週の予告?通りにアニメーションの続きを。

先週の木曜の状態でAnimatorを見るとこんな状態になってますね。


これだと1個アニメーションしか実行できないので、先週と同じ手順でchar_2の分もアニメーションを作ります。


Animatorにアニメーション「char_1」「char_2」の2個になりますね。


このまま実行しても、char_1のアニメーションしか動かないのでchar_1とchar_2を紐づけをしないといけません。
char_1を右クリックして「Make Transition」を選択し、矢印をchar_2に引っ張ってあげるだけです。


char_1からchar_2に向かって線が付きますね。
この線をクリックするとInspectorが以下のようになってます。


この状態でそのまま実行すると、char_1のアニメーションが1回動いた後にchar_2のアニメーションが動き続けます。
回数で制御したい場合はそのまま「Exit Time」の回数を変更すすればいいですが、ほかの判定でアニメーションを変更するためにAnimatorの下のほうにある「Parameters」を使用します。


これですね。「+」をクリックするとリストが出てきます。選べるのは「Float」「Int」「Bool」「Trigger」ですね。
今回は「Bool」を使用したいと思います。




名前は適当にTestBoolにしてます。
追加したらまたchar_1からchar_2への線をクリックし、「Exit Time」のところをクリックすると作成した「TestBool」が選択できるので選択し、条件を「true」にしておきます。


この状態で実行し、Parametersの「TestBool」の横のチェックボックスにチェックを入れるとchar_2のアニメーションに変わります。が、チェックを外してもそのままchar_2のアニメーションのままですね。
なので、今度はchar_2を右クリックして「Make Transition」を選択し、矢印をchar_1に引っ張ります。


こんな感じですね。
char_2からchar_1に向かっている線をクリックし、条件を「TestBool」「false」にします。


これで実行した後にParametersの「TestBool」の横のチェックボックスをオンオフするとchar_1とchar_2のアニメーションを切り替えることができますね!

コードでこのチェックを入れ替えるのは以下のような感じです。

 GameObject.Find("char_1_0").GetComponent<Animator>().SetBool("TestBool", true);

とするとアクセスできるので、あとは好きなように制御するだけでアニメーションの入れ替えができます。

Animatorの上にあるLayerについては今のところ使っていませんが、アクションゲームなどを作るときに複雑なアニメーションを作成するのに役立つみたいです。
詳細はマニュアルを・・・【ごめんなさい。】【ごめんなさい。】

今週はこんなところで~
ではでは~ノシ
(´-`).。oO(さて来週は何について書くか・・・)
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/86-26f8d7bd
この記事にトラックバックする(FC2ブログユーザー)