MonoBehaviour.OnCollisionStay(Collision)
Параметры
| Параметр | Описание |
|---|---|
| прочие | Данные о столкновении, связанные с этим столкновением. |
Описание
OnCollisionStay вызывается один раз в кадре для каждого Collider или Rigidbody, который касается другого Collider или Rigidbody.
В отличие от OnTriggerStay, OnCollisionStay передается Collision класс, а не Collider. Collision класс содержит сведения о точках контакта, скорости удара и т. д. Если вы не используете collisionInfo в функции, опустите параметр collisionInfo — это избавит от лишних вычислений.
Примечание: События столкновения отправляются только в том случае, если к одному из коллайдеров также прикреплен некинематический жесткий корпус. События столкновения будут отправляться на отключенный MonoBehaviours, чтобы позволить включить поведение в ответ на столкновения.
События остановки столкновения не отправляются для спящих Rigidbodies.
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.