Raycastが反応しない問題

RaycastAllで前方のColliderを取得しようとしたのに、取得できなかった。

いろいろ試してみたところ、どうやらrayの始点が検知するColliderの内部にある場合、反応しない様子。

SphereCastAllとかも始点の球体部分を検知しないという仕様なので、
SphereCastAll + OverlapSphere で対処します。


Collider[] hits = Physics.OverlapSphere (playerTrans.position, 0.1f, layerMask, QueryTriggerInteraction.Collide);
RaycastHit[] hits2 = Physics.SphereCastAll (playerTrans.position, 0.1f, playerTrans.forward, 0.3f, layerMask, QueryTriggerInteraction.Collide);

こんな感じ。

コメント