【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のアニメーションを切り替えることができますね!
コードでこのチェックを入れ替えるのは以下のような感じです。
とするとアクセスできるので、あとは好きなように制御するだけでアニメーションの入れ替えができます。
Animatorの上にあるLayerについては今のところ使っていませんが、アクションゲームなどを作るときに複雑なアニメーションを作成するのに役立つみたいです。
詳細はマニュアルを・・・【ごめんなさい。】【ごめんなさい。】
今週はこんなところで~
ではでは~ノシ
(´-`).。oO(さて来週は何について書くか・・・)
なんか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)
« 【アプリの宣伝】LunaticDungeonそろそろ公開!? | 【Unity】アセットのご紹介と簡単な使い方? »
コメント
| h o m e |