direction | 刚体扫描的方向。 |
hitInfo | 如果返回 true,则 hitInfo 将包含有关碰撞体被击中位置的更多信息(其他资源:RaycastHit)。 |
maxDistance | 扫描的长度。 |
queryTriggerInteraction | 指定此查询是否应命中触发器。 |
bool 当刚体扫描与任何碰撞体相交时为真,否则为假。
测试如果刚体在场景中移动,它是否会与任何物体发生碰撞。
测试如果刚体在场景中移动,它是否会与任何物体发生碰撞。这类似于对刚体的所有碰撞体中包含的所有点执行 Physics.Raycast,并返回所有命中结果中最接近的一个(如果有)。这对于 AI 代码很有用,例如,如果您需要知道某个物体是否可以穿过一个间隙而不会与任何物体发生碰撞。
请注意,此函数仅在将基本碰撞体类型(球体、立方体或胶囊体)或凸面网格附加到刚体对象时才有效 - 凹面网格碰撞体将不起作用,尽管它们可以在场景中被扫描检测到。
其他资源:Physics.SphereCast、Physics.CapsuleCast、Rigidbody.SweepTestAll。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public float collisionCheckDistance; public bool aboutToCollide; public float distanceToCollision; public Rigidbody rb;
void Start() { rb = GetComponent<Rigidbody>(); }
void Update() { RaycastHit hit; if (rb.SweepTest(transform.forward, out hit, collisionCheckDistance)) { aboutToCollide = true; distanceToCollision = hit.distance; } } }