攻撃処理

このページは4.7.3を対象としています。

更新履歴

概要

このページでは上の動画のようなターゲットしたエネミーに対する攻撃処理の作り方についてまとめています。 ターゲットシステムについてはこのページを参照してください。 攻撃処理はMyCharacterParentのブループリントで作ります。

詳細

攻撃処理に関係する変数は下の通りです。 敵かどうか(isEnemy)、 攻撃のレンジ(AttackRange)、 攻撃開始からダメージ発生までの時間(AttackDamageHappenTime)、 攻撃力(AttackPower)、 攻撃開始から攻撃アニメーションが終了するまでの時間(AttackAnimationEndTime)、 Replicatedの攻撃中かどうか(isAttack)、 Replicatedの攻撃アニメーションのトリガ(AttackAnimationTrigger)、 Replicatedのダメージアニメーションのトリガ(DamageAnimationTrigger)、 Replicatedの死亡中かどうか(isDead)、 Replicatedの死亡アニメーションのトリガ(DeadAnimationTrigger)、 Replicatedの行動のターゲット(ActionTarget)

攻撃処理に関係する関数は下の通りです。

HPにダメージを与える(DamageHP)HPを回復する(HealHP)行動可能か判定する(CheckActionable)攻撃可能か判定する(CheckAttackable)範囲内かどうか判定する(CheckInRange)

CheckActionable関数ではキャラクターが行動できる状態かどうか判定します。 攻撃中または死亡中は行動できません。 CheckAttackable関数ではキャラクターがターゲットに対して攻撃できるかどうか判定します。 ここでは味方と敵同士のみ攻撃できるようにして、 味方同士、敵同士では攻撃できないようにしています。 CheckInRange関数では攻撃範囲内にターゲットがいるかどうか判定します。

EventGraphは次の通りです。

012345678910

プレイヤーが攻撃する時は、カスタムイベントAttackを呼び出します。 最初にTargetをActionTargetに退避させておきます。 また、MyPlayerCharacterのtickイベントからtickRotationを呼び出すようにしておきます。 SetActorRotationについてはこのページも参考にしてください。

戻る

inserted by FC2 system