スクリプトで当たり判定を全部やっていた弊害

この記事は制作過程のダメだった部分を改善できたことを忘れない為に記録しているだけの記事です。

・反省点
コードもアニメーターもぐちゃぐちゃで作り足していく事が困難。
操作していて爽快感が無い。
グラフィックスをもっと良くしたい。

・とった対策
プロトタイプて作成していたダークネスダークネスは、攻撃判定の部分をゴリ押しでスクリプトでやっていたのを全てアニメーションイベントに作り直した。

結果としてAnimatorコンポーネントのアニメーション遷移を簡略化することが出来た。

スクリプトで管理していた時は汎用性の無いコーディングとなってしまい、他のゲームに全く使えそうもなかったが、作り直して整理してみると大分無駄な所を省く事ができた。

アニメーションの遷移はAnimatorの各ステートメントのAdd ビヘイビアでスクリプトを追加し、オーバーライドした時の関数内にキー入力判定を追加した事で単一パラメータだけでアニメ遷移を行えるようになった。

また、アニメーションクリップの再生箇所にEvent設定を行わずにスクリプトのみで当たり判定を制御していた。今回はアニメーションクリップ毎にEvent設定をした所、以前と比べてコードもシンプルになり、今まで微塵も触れてこなかった自分の不勉強さが情けない。

Assets内のアニメーションクリップを選択し、タグを切り替えてパラメータ内のチェックをつけたり外したりしていると、アニメーション動作に設定されている座標の移動を固定しないように調整できるよう。今回はアニメーションで前進させたかったので、XZの所のチェックを外している。

AnimationClipイベントにJab()とJabEnd()を作り、Jab()で当たり判定のスフィアコライダーをIsTriggerでOnにして、JabEnd()で同コライダーをOffにしている。

当たり判定コライダーが敵のキャラクターコントローラーのカプセルコライダに接触した時に効果音再生とパーティクル再生をする。もっといじらないと、いまいち使いこなせない。

グラフィックスはメインカメラのfield of viewパラメータを少なくした所良くなったが、処理が重くなりそうなのと、スカイボックスが荒くなる問題あり。