GASPのALS版をもとに、モーションマッチで華麗に障害物を乗り越えるアクロバティックな敵キャラと対戦できるシューティングゲームを開発しながらサンプル公開しています。
公開中 yossi40-100/GASP-ALS: Game Animation Sample with ALS Layering
本記事は公開時2025/1/5に更新した細かい点の説明記事です。前半のHand-IKの話はこちらで説明済です。
BattleGraph導入
CBP_SandboxCharacterにバトルグラフを追加しています
これにより、イベントグラフと分離して移植・本家のアップデートを少しでも取り込みやすくしています。
攻撃を受けたときの処理は、グラフを移動しただけですが、体力からダメージを減らして0なったらラグドーるって感じです。5秒待って復活するようにしてあります。
攻撃イベント(IA_FireとAI用のFire)は引っ越しだけでないので下記で。
攻撃(発砲)処理
IA_FireとAI用のFireイベントは、Triggerピン(トリガー)だと長押しで連射しちゃうので、Startedピン(押した瞬間だけ)に変更しました
DoingTraversalActionフラグのNot(トラバーサルアクション中でない) という条件も追加したのとオーバーレイ状態がライフルのときだけでなく、ピストルの場合も発射できるようにしています。
(エイムできない)スプリントでなく、エイム時で、トラバース中でないとき、かつ、
Itemのチャイルドアクターが銃クラスだったら、
銃クラスから弾を発射させるという作りです
CBP_SandboxCharacter > BattleGraph
「NOT」は「NOT Boolean」boolean型のピンから線を出して「not b」で
Character Input Stateの構造体は出力ピンを分解
Switch on Enum*** はEnum型のOverlay State変数から引っ張り出して「switch」で
Itemの次の「Target Child Actor」は「Get Child Actor」です(Get Child Actor Classではありません。クラスは設計図、ほしいのは手に持っている実体)
ライフルは長押しで連射できるようにしたり、弓は押したら引っ張って離したら発射みたいな作りにしていく予定です。
すると銃クラスというより武器クラスのほうが依存が減らせていいかもしれません
次はFPS化です。
コメント