ぷちコン製作備忘録.貝を投げる動作の仕込み.
貝を投げるプレイヤーキャラクターには,マケプレアセットのKrakenを使用した.
軟体動物の怪物が貝殻を投げるのはあっているのかそうでないのかよくわからないが,絵としては面白うそうなのでなんとなく採用することになった.
BP_ThirdPersonCharacterのメッシュとアニメーションを入れ替えればプレイヤが無事Krakenとなる
なおこのKrakenはそのままだとかなり大きいため,Grayman と同等程度に縮小したうえでプレイヤキャラとして用いている.
このKrakenのアセットにはいくつかの攻撃モーションが用意されている.これはおそらくボスキャラなどとして利用する際に使われることが想定されたもので,前方攻撃や横攻撃などのモーションはもとから備わっている.今回は特に動きの種類が多いわけでもないのでこれをそのまま使わせていただくことにした.
今回用いたのはSmashAttack,smashAttackForward,sweepAttackの三種.これをマウスの左,中,右クリックに割り当てることで三種の攻撃を実現する.AnimationBPにもとのBPクラスから状態を受け取るノードを追加し,上記3つに加えてDeadの状態をうけアニメーションを遷移させる.
Dead状態は敵からの砲撃によってHPが0になった時に判定され,アニメーションの再生とともにゲームオーバーのリザルト画面へ移行する.
Shot,Throw,Attackは攻撃中かどうかのフラグ.3つの状態はいずれか一つのみが実行できるように組んである.フラグが付くとアニメーションが始動するので,いい感じにモーションが入る1秒後に弾丸となる貝殻をスポーンする.アニメーションが終わるころ合いである,1秒後に攻撃状態を終了する.
このような一連の流れで,3つの攻撃のスクリプトが組まれている.
アニメーションと射出が同期していないので,連射するとタイミングによってはノーモーションで射出してしまうことがある.
今回はためなどは特に実装していないので,射出した弾丸の軌道などの処理は貝殻側で行っている.
おもにProjectileMovementによる弾道計算,とLineTraceによる当たり判定である.
上の図のものは前方に向けて射出するものであるが,他の攻撃手段ではVerocityを1-0-1にすることで山なりに飛ばしたり,Swingモーションのものは2.0-0.5-1.0と横向きの速度も加えることで斜めに飛ぶようにしたりと,貝によって軌道を変えることでプレイへの変化をつけた.
マップの広さもあり射程によっては届かない塔もあるのでうまく使い分けてプレイできるようにと考えた.また斜めに飛ぶものは狙いをつけるのが難しい分わずかに威力を高めたほか,RotatingMovementによりゆっくりフリスビーのような回転をするようにもしてある.
GameModeも少しは使ってみたかったので,ゴール判定やゲームオーバー判定はGameModeで処理することにした.といってもUIを出すだけではあるのだが.
倒したTowerの数をテキストに当てはめて表示するだけのシンプルなもの.Endを押すとタイトルに戻る.
コメント