Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

MonoBehaviour.OnCollisionStay(Collision)

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство

Параметры

other The Collision data associated with this collision.

Описание

OnCollisionStay вызывается один раз в кадр для каждого collider/rigidbody, который касается другого rigidbody/collider.

In contrast to OnTriggerStay, OnCollisionStay is passed the Collision class and not a Collider. Класс Collision содержит информацию о точках соприкосновения, скорости воздействия и т.д. Если вы не используете CollisionInfo в функции, опустите параметр collisionInfo, чтобы избежать ненужных вычислений. Notes: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached. Collision events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions. Collision stay events are not sent for sleeping Rigidbodies.

	function OnCollisionStay(collisionInfo : Collision) {
		// Debug-draw all contact points and normals
		for (var contact : ContactPoint in collisionInfo.contacts)
			Debug.DrawRay(contact.point, contact.normal, Color.white);
	}
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); } } }

OnCollisionStay can be a co-routine, simply use the yield statement in the function.