Описание
OnCollisionStay вызывается один раз за кадр для каждого коллайдера или жесткого тела, которое касается другого коллайдера или жесткого тела.
В отличие от OnTriggerStay, OnCollisionStay передается классом Collision, а не коллайдером. Класс Collision содержит информацию о точках контакта, скорости удара и т. д. Если вы не используете CollisionInfo в функции, не используйте параметр CollisionInfo, так как это позволяет избежать ненужных вычислений. Примечания: События столкновения отправляются только в том случае, если к одному из коллайдеров также присоединено некинематическое твердое тело. События столкновения отправляются отключенным MonoBehaviours, чтобы разрешить включение поведения в ответ на столкновения. События остановки при столкновении не отправляются для спящих твердых тел.
// Отладка — отрисовка всех точек контакта и нормалей
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
void OnCollisionStay(Collision collisionInfo)
{
foreach (ContactPoint contact in collisionInfo.contacts)
{
Debug.DrawRay(contact.point, contact.normal, Color.white);
}
}
}