Tag: 光线投射

Unity Physics2D.Raycast击中了自己

我正在尝试使用Physics2D.Raycast来检查玩家是否在地面上(我知道还有其他方法来检查玩家是否在地面但我认为光线投射是最可靠的)。 问题是在我的场景中它将玩家本身作为命中返回,我真的不明白为什么以及我该怎么做。 我的代码(在PlayerController )如下: public bool IsGrounded () { Bounds bounds = this.playerCollider.bounds; Vector3 rayOrigin = bounds.center; rayOrigin.y -= bounds.extents.y; RaycastHit2D hit = Physics2D.Raycast (rayOrigin, Vector2.down, 0.1f); if (hit.collider != null) { Debug.Log (“Collider is: ” + hit.collider.name); } return hit.collider != null; } 我可以使用以下方法调试铸造射线: Debug.DrawLine (rayOrigin, new Vector3 (rayOrigin.x, rayOrigin.y – 0.1f, rayOrigin.z), Color.magenta); […]