SetCollisionResponseを実行すると、Overlapイベントはその場ですぐ発生する
「CollisionOverlapの発生タイミングを調べてみたところ、なんだか不思議な仕様がわかった。パンチの時に、手を振りかぶった時にSetCollisionResponseでコリジョンを有効にしてるんだけど、SetCollisionResponseの時点ですぐOverlapが起きてる。もちろんその時点で重なってた場合だけど。写真にはないけどEndOverlapの方でも同じだった」
妹「……そういうものなんじゃないの?」
「今まで見てきたブループリントのパターンからいうと、まず実行中イベントが終わってから、Overlapが起きると思ってたんだよ。もしくはDelay系ノードを挟んだ場合。この場合はPrintStringだけだから直接は影響ないと思うけど、変数SETのタイミングとか気を付けないといけない。他のも気づいてなかっただけでそういうのがあったのかも」
妹「ところで2回Overlapイベントが発生する原因はわかったの?」
「動画にしてコマ送りしたりもしたんだけど、よくわからない……ただ1回目のBeginとEnd、そして2回目のBeginまでが1フレームの間に起きてるのは間違いない」
妹「それもやっぱり変なタイミングでイベント起きてるのかなあ」
「1つ確認できたのは、敵が動いてない場合、Overlap2回は起きない。崖っぷちに追い込んだり、移動処理を無効化すると、普通に1回だけ当たる」
妹「動いてるのとオーバーラップさせるとおかしい?」
「というか、今回の場合パンチのコリジョンも手に合わせて動いてて、敵も動いてるから、双方のコリジョンが動いてる場合に、どういうタイミングでOverlapが発生してるのか、という話になる。今のところさっぱりわかりません」