読者です 読者をやめる 読者になる 読者になる

196の日記

完全に開発メモと雑談、その他忘れそうな計算式などを書き溜める場所になっています!

雑談 UnityのAnimationControllerとか

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


AnimtionController

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

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

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

UnityEvent

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