版本: Unity 6 (6000.0)
语言英语
  • C#

Collider.OnCollisionStay(Collision)

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户提出的每个更改建议,并在必要时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

参数

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); } } }