IsTouchingは引数のColliderに触れていたらTrueを返す関数だけど
静止状態ならTrueを返すが動いてる状態だと接触していてもFalseを返すことに気づいた。
つまりEventで状態を受け取り処理するのではなく、自分で判定を呼び出す場合には
IsTouchingは使い物にならないので自分で当たり判定を書きましょうという話。
Collider.bounds.max で3D空間のmax座標が帰ってくるので Collider同士の座標を比べることで判定可能で、この方法だと動いていてもちゃんと判定してくれた。
僕の場合は2Dゲーで縦移動のみだったのでCollider.bounds.max.y で返ってくるfloatを比較した。
PR