今回はその5として、前回の続きで、3on3のキャラクターチェンジの移動処理を説明します。
キャラクターチェンジの移動処理は、BP_CommonControllerのTickに繋がったノード「P01 3on3 Change Char」で処理をしています。
ノード「P01 3on3 Change Char」では、全体としてこのような処理ブロックに分かれており、①はフレームアウトしたキャラクターのダメージボックス設定、②はキャラクターチェンジの移動やサウンドの処理、③はサブキャラクターのHPとスタンの回復処理となっています。
まず①の処理は、変数”Change for OUT”がFalseになってキャラクターチェンジが終了したときに、フレームアウトしたキャラクターのダメージ判定を設定しており、飛び道具に対する衝突をOFFに設定しています。
これは、フレームアウトしているキャラクターの位置まで、相手の飛び道具が届くからです。
次に②として、キャラクターチェンジの移動を処理していますが、変数”Change for IN”がTrueになるのと同時にゲートがオープンし、変数”Moving Counter”が1フレーム毎に1加算されます。
変数”Moving Counter”が変数”Moving counter Limit”の値より小さい場合は、ゲートのオープンを継続します。
その後、加算を継続し、変数”Moving counter Limit”と同じ値になると、ゲートをクローズし、使用した変数の初期化とダメージボックスを有効にします。
変数”Moving counter Limit”は、キャラクターチェンジの処理を開始時にノード「Do Once」により、フレームインとアウトするキャラクターのY座標の差から算出されて、決定されます。
さらにフレームインするキャラクターはショルダーチャージの攻撃を行いますので、攻撃の設定も行います。
そして、移動処理については、フレームインとアウトするキャラクターを同時に処理しており、フレームイン側は、変数”Player Side”の値に応じて、毎フレーム25cm進むように設定されています。
フレームアウト側は、毎フレーム20cm垂直に上昇するように設定されています。
さらに、移動が完了したことがわかるように、サウンドを再生しています。
最後に③として、サブキャラクターのHPとスタンの回復について説明します。
まずは、変数”P01 Order Of Char”の値を参照し、どのキャラクターがサブキャラクターなのか特定しており、ノード「Sequence」により、2人分のHPとスタンの処理をしています。
その後、HPについては、KOされていないか確認後、HPが1.0以下か確認し、Trueであれば、1秒毎に一定の値を加算し、HPを回復しています。
スタンについても同様に、値が0以上であるかを確認後、Trueであれば、1秒毎に一定の値を引き算し、回復しています。
今回の説明は、以上です。
次回もキャラクターチェンジの続きで、キャラクターアニメーションやWidgetの処理を説明します。
それではまた。
コメントを残す