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; } } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.