セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

雑談 UnityのAnimationControllerとか

//

眠い。。昨日4時に寝たから睡眠不足です。Mayaの方で色々悪戦苦闘してたらそんな時間で今日も8時に前におきました笑 このことについては、ひと段落したら記事にします! ということで、これを書く必要もないんじゃないかと思っているけど、一応色々とメモ。


AnimtionController

今日はバトルシーンのキャラクターのアニメーションをデモ段階でつけてみました。コマンドで技を設定してやると、その技を繰り出します!と、そこまではよかったのですが、今回の企画、一度に3つの行動を決定し、順番に自動で実行する仕組みにしたい!そこで、リストに技を格納、そこから順に技を読み込み、キャラクターコントローラに渡してあげる。アニメーションが終わるまでは、次の技は渡さない!これが大まかな構想。

 で、問題だったのはアニメーションの終わりをはっきりとさせず、アニメーションプレハブのトランジションにhas exit time?(exitingかも)を設定していたこと。
これにより、トランジションの途中(一つ目の技が終わり切らない)で次の技が呼ばれてしまった。結果、3つのうち2つの技のアニメーションしか目み言える形で実行されなかった。

 この解決方法は、簡単単純。攻撃後のIdle状態に戻るトランジションをbooleanで設定すれば良い。僕の場合は、Attackingがtrueならアニメーションを始め、falseに変わったら、それをアニメーションの終了とし、時再度技が呼ばれるような仕組みになっていた。意図的にこのfalse時にアニメーションをIdleに戻すトランジションをつけてやることで、アニメーション中に技が呼ばれることがなくなった。後から考えれば当たり前だけど、友人に相談するまで考えもしなかった!助かった!

UnityEvent

まだ触っていないが、何かを動的に作成し、そこに他のもつ関数を渡してやる際に、このUnityEvent が使えるらしい。Addで渡す関数を指定し、Invokeで実行するような感じだった。眠いからしっかりみてない。忘れないようにここにメモしておきます。