Unity3d 为什么要碰撞r2d.Raycast&;对撞机,光线投射有什么不同?

Unity3d 为什么要碰撞r2d.Raycast&;对撞机,光线投射有什么不同?,unity3d,raycasting,collider,Unity3d,Raycasting,Collider,Collider.Raycast->投射一条忽略除此之外的所有碰撞器的光线 Collider2D.Raycast->从碰撞器位置开始将光线投射到场景中,忽略碰撞器本身 我想像Collider.Raycast一样使用它,它“忽略除此之外的所有内容”,但我现在使用的是Collider2D,我需要投射一个光线投射,并检查它是否只命中指定的Collider2D,或者是否有更好的方法?对于2D中的光线投射,理想情况下应该使用Physics2D.Raycast方法 (摘自) 这将为您提供所需的所有文档。Ph

Collider.Raycast->投射一条忽略除此之外的所有碰撞器的光线

Collider2D.Raycast->从碰撞器位置开始将光线投射到场景中,忽略碰撞器本身


我想像Collider.Raycast一样使用它,它“忽略除此之外的所有内容”,但我现在使用的是Collider2D,我需要投射一个光线投射,并检查它是否只命中指定的Collider2D,或者是否有更好的方法?

对于2D中的光线投射,理想情况下应该使用Physics2D.Raycast方法

(摘自)

这将为您提供所需的所有文档。Physics2D类还具有许多有用的相关函数,如圆投射、线投射,以及有关如何忽略光线投射中某些层的信息

为了节省时间,下面是完整的Physics2D.Raycast方法,包括可选变量

public static RaycastHit2D Raycast(Vector2 origin, Vector2 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

祝你的项目好运

对于2D中的光线投射,理想情况下应使用Physics2D.Raycast方法

(摘自)

这将为您提供所需的所有文档。Physics2D类还具有许多有用的相关函数,如圆投射、线投射,以及有关如何忽略光线投射中某些层的信息

为了节省时间,下面是完整的Physics2D.Raycast方法,包括可选变量

public static RaycastHit2D Raycast(Vector2 origin, Vector2 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

祝你的项目好运

谢谢你的快速回复!但是,这并没有为raycast提供功能,只提供一个指定的碰撞器,如collider.raycast do,这是我的情况下所需要的。感谢您的快速回复!但是,这并没有为光线投射提供功能,只提供了一个指定的碰撞器,如collider.raycast do,这正是我在本例中所需要的。