OnCollisionStay 在每帧中针对每个与另一个 Collider 或 Rigidbody 发生接触的 Collider 或 Rigidbody 调用一次。
与 OnTriggerStay 相反,OnCollisionStay 传递的是 Collision 类,而不是 Collider。 Collision 类包含有关接触点、冲击速度等信息。如果您在函数中不使用 collisionInfo,请省略 collisionInfo 参数,这样可以避免不必要的计算。 注意:仅当其中一个 Collider 还附加了一个非运动学刚体时,才会发送碰撞事件。碰撞事件会发送到禁用的 MonoBehaviour,以允许根据碰撞来启用行为。睡眠刚体不会发送碰撞保持事件。
// Debug-draw all contact points and normals
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void OnCollisionStay(Collision collisionInfo) { foreach (ContactPoint contact in collisionInfo.contacts) { Debug.DrawRay(contact.point, contact.normal, Color.white); } } }