Legacy Documentation: Version 5.1
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Collision.contacts

Switch to Manual
public var contacts: ContactPoint[];

Description

The contact points generated by the physics engine.

Every contact contains a contact point, normal and the two colliders that collided (see ContactPoint). From inside OnCollisionStay or OnCollisionEnter you can always be sure that contacts has at least one element.

	function OnCollisionStay(collision : Collision) {
		for (var contact : ContactPoint in collision.contacts) {
			print(contact.thisCollider.name + " hit " + contact.otherCollider.name);
			// Visualize the contact point
			Debug.DrawRay(contact.point, contact.normal, Color.white);
		}
	}
#pragma strict
// A grenade
// - instantiates a explosion prefab when hitting a surface
// - then destroys itself
public var explosionPrefab: Transform;
function OnCollisionEnter(collision: Collision) {
	var contact: ContactPoint = collision.contacts[0];
	var rot: Quaternion = Quaternion.FromToRotation(Vector3.up, contact.normal);
	var pos: Vector3 = contact.point;
	Instantiate(explosionPrefab, pos, rot);
	Destroy(gameObject);
}