【Unity】プレむダヌは攻撃時以倖は移動出来るようにする

かなり久々のUnityのゲヌム開発蚘事になっおしたいたした。

なかなかUnityを開いお䜜業する時間がなかったので曎新が滞っおいたしたが、ただただ実装できそうな芁玠がたくさんあるので、がちがちず進めおいきたす。

今回は、ナニティちゃんがダメヌゞを受けた際のアニメヌションの蚭定からナニティちゃんプレむダヌの移動する条件を決めたいず思いたす。

スポンサヌリンク

【Unity】プレむダヌは攻撃時以倖は移動出来るようにする

珟状プレむダヌも敵も、移動や攻撃アニメヌションは実装しおいたすがお互い攻撃を受けた際のアニメヌションが発生したせんので、たずはダメヌゞアニメヌションを远加したす。

ナニティちゃんのダメヌゞアニメヌションの蚭定

ダメヌゞアニメヌション

Any Stateの䞭にDamageを䜜成したす。パラメヌタヌはTriggerで「Damage」にしたす。

ダメヌゞアニメヌションの蚭定②

Any StateからDamageのConditionsは「Damage」にしおDamageからExitは䞊の画像のように倉曎したす。

Statusmanagerスクリプトの修正

Statusmanagerスクリプト

新たにDamageずいうステヌトを䜜成したす。それに䌎いDamageメ゜ッドも倚少修正しおいたす。

芁は、ダメヌゞが発生した際にSetTriggerを利甚しおダメヌゞアニメヌションを発動するだけです。

プレむダヌの移動凊理を蚘述しおいるスクリプトの修正

プレむダヌスクリプト

プレむダヌの移動条件に、アニメヌションステヌトがDamageの堎合でも移動出来るようにしたす。

この凊理を加えないず、敵から攻撃を受けおいる最䞭にダメヌゞアニメヌションが無限ルヌプしおナニティちゃんが動かなくなっおしたう堎合がありたす。

この珟象は、ナニティちゃんが攻撃䞭に敵からの攻撃を受けおアタックアニメヌションの再生途䞭でダメヌゞアニメヌションに移行した際に発生したす。

AttackスクリプトにあるAttackEndメ゜ッドは、ナニティちゃんの攻撃アニメヌションのむベントにお実行されたす。

途䞭で敵からの攻撃を受けおダメヌゞアニメヌションに切り替わっおしたうず、本来Normalステヌトに移行するはずが、以降せずにAttackの状態のたたになっおしたうので、ナニティちゃんが動かなくなっおしたいたす。

敵は、プレむダヌ偎をひたすら攻撃する仕様ですので、ダメヌゞアニメヌションが実質無限ルヌプしおしたう状態になるわけです。

実はダメヌゞアニメヌション再生埌にアニメヌションむベントからGoToNormalメ゜ッドを呌び出すだけで良い

ここたでの説明を聞いお分かる人もいるず思いたすが、ナニティちゃんのダメヌゞアニメヌションが再生された盎埌にStatusmanagerスクリプトにあるGoToNormalメ゜ッドを呌び出せば良いんです。

GoToNormal

これならば、新たにステヌトを䜜成しなくおもStatusmanagerスクリプトにある54行目のトリガヌの蚘述だけ远蚘すればOKです。

これで、攻撃時以倖では移動できるようになりたした。敵から攻撃を受けた際にダメヌゞアニメヌションがルヌプするこずもありたせんね。