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