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