Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

Rigidbody.OnCollisionStay(Collision)

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual

Descripción

OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.

A diferencia de lo que ocurre con OnTriggerExit, a OnCollisionExit se le pasa la clase Collision, no un Collider. La clase Collision contiene información sobre puntos de contacto, velocidad de impacto, etc. Si no vas a usar el parámetro collisionInfo en la función, déjalo fuera para evitar cálculos innecesarios. 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); } } }