ダメージ判定が発生しない

ダメージ処理を実装したいのですが、Apply Damageが機能しません。武器から発射した弾にApply Damageを設定し、それが命中した相手にイベント Any Damageでダメージを与えるシンプルな方法です。ですがどれだけ弾を当ててもAny Damageがダメージ判定を取ってくれず、ダメージを与えることができません。しかしOn Component Hit やOn Component Begin Overlapの判定はしっかり取ってくれます。

画像を貼りたいのですがなぜかアップロードできないので

と大体やっていることは同じです。ダメージは弾のイベント Hitで発生し、相手はOtherにしています。
Apply Damageでダメージ判定を取るには何か設定が必要なのでしょうか?調べても特にそういった情報は見当たりませんでした。

実際の処理を見てみないと何とも言えませんが、ApplyDamageのDamageActorにダメージを与えたいActorを設定する必要があります。

特に変な設定は必要ないため、考えられることは

  • DamageActorに正しい対象が設定されていない
  • ダメージを与えられる側の処理がない

ぐらいでしょうか。

Damaged ActorはHitイベントから所得できるOtherに設定しています。前述の通りHit判定自体は取れているのでこれでダメージ判定も取れると思ったのですが無理なのでしょうか?ダメージを与えられる側はとりあえずAny DamageとPrint Stringを繋いで判定が取れているかを調べていますが、何の反応も無いのでやはり判定そのものが発生していないように思います。

ApplyDamageの設定でいえばこれだけで動作するはずですが、どうでしょうか

ダメージを与える側(今回はTriggerVolumeを使用)

ダメージを受ける側(ThridPersonCharacter)

319976-bfcaa04fd20730c409b14ab101a4cff3.png

LineTraceの場合です。

このどちらでもAnyDmageを取得できない場合、Traceが正しくできていないというぐらいしか思い当たるところがありませんね…

どうしてもというのであれば、一度レベルブループリントで直接対象をDamagedActorに設定して動かしてみてはどうでしょうか

解決済みの場合であれば以下の解決に沿って解決済みにしていただきたいです。

Answerhub クイックスタートヘルプ日本語訳: Answerhub クイックスタートヘルプ日本語訳 - AnswerHub - Unreal Engine Forums

よろしくお願いします。

自分も同じ症状がありましたが、ダメージを0にしていると反応しませんでした。