other | 与此碰撞相关的碰撞数据。 |
对于每个与另一个碰撞体或刚体接触的碰撞体或刚体,OnCollisionStay 都会在每一帧调用一次。
与 OnTriggerStay 相比,OnCollisionStay 会传递 Collision 类而不是 Collider。 Collision 类包含有关接触点、冲击速度等的信息。如果您在函数中不使用 collisionInfo,请省略 collisionInfo 参数,因为这可以避免不必要的计算。
注意:只有当其中一个碰撞体也附加了一个非运动学刚体时,才会发送碰撞事件。碰撞事件将发送到禁用的 MonoBehaviour,以允许根据碰撞启用行为。
对于处于休眠状态的刚体,不会发送碰撞停留事件。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void OnCollisionStay(Collision collisionInfo) { // Debug-draw all contact points and normals foreach (ContactPoint contact in collisionInfo.contacts) { Debug.DrawRay(contact.point, contact.normal, Color.white); } } }
OnCollisionStay 可以是一个协程,只需在函数中使用 yield 语句即可。