在游戏开发中,有时要判断某个点是否在某个盒子里,其实Unity已经有支持的方法了,很容易就实现了.

What you’re looking for is Bounds.Contains. The method checks if a position is within some bounds, such as the bounds of a box collider:

 Vector3 pos = someRenderer.transform.position;
 Bounds bounds = myBoxCollider.bounds;
 bool rendererIsInsideTheBox = bounds.Contains(pos);

Of course, if you’re going to include renderers that are partially inside the bounds of the box, you can check the bounds of the renderer (renderer.bounds), and see if the renderer intersects the bounds of the box:

 Bounds rendererBounds = someRenderer.bounds;
 Bounds colliderBounds = myBoxCollider.bounds;
 bool rendererIsInsideBox = colliderBounds.Intersects(rendererBounds);

更多推荐