「Multi Line Trace For Objects」を使用して、壁の後ろにいる敵に銃弾をヒットさせる処理を作成したのですが、位置によってトレースが敵に2回当たってしまうことがあります。壁などには2回当たることがなく、カプセルコンポーネントにはヒットしないようにしております。理由がわかる方がおりましたらご教示いただけますと幸いです。
メッシュの衝突の設定方法によっては、これが発生する可能性があります。 これを解決するには、イベントまたは関数を 1 回だけ実行する Do Once ノードを使用できます。 プレイヤーがキャラクターに複数回射撃できるようにする必要がある場合は、Do Once 機能をリセットする必要があります。
ああなるほど! ループを中断したり、その機能を公開したりして、ループ プロセス内に Do Once を追加することができます。 ただし、根本的な原因を見つけたほうが良いでしょう。
おそらく、メッシュに複数の要素または個別の衝突があり、これが原因でこの問題が発生します。 メッシュの画像をアップロードしていただけますか?
ご返信ありがとうございます。メッシュは[SKM_Manny]をそのまま使用しております。
うーん、わかりました…その場合はわかりません。 デフォルトのメッシュにはそれほど問題はないはずです ![]()
胸にあたった判定の後、腕に当たって2HITの判定になってるとかなんですかね…?
処理の再現をしていないので適切な回答とはならないかもしれませんが。
何かに命中した場合に配列にAddしておき、同じActorが選ばれていた場合Findで見つかるため
ダメージ処理をスキップするという方法もあります。
応急処置のようなものですが効果はあるかと。
もしかしてSkeletalMeshに対してMultiLineTraceをしている、ということでしょうか?
その場合は、経路上のすべてのRigidBody(PhysicsAssetの各Body)を検知します
(当たった位置に相当するBoneの名前がHitResultに格納されます)
敵毎に1回としたいなら、何らかの方法で1回のみ検知するようにフィルターする必要があります
ご返信ありがとうございます。たしかに複数のボーン名が取得されておりました。解決方法を探したのですが見つからなかったので、ひとまずHit Actorを変数に格納する方法で行いたいと思います。ありがとうございました。

