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);
こんな感じ。
コメント