FC2ブログ
    02 «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.» 04

    ハルシオンシステムの気まま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