Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к Руководству

Rigidbody.OnCollisionEnter(Collision)

Описание

OnCollisionEnter вызывается, когда этот коллайдер/жесткое тело начинает касаться другого твердого тела/коллайдера.

В отличие от OnTriggerEnter, OnCollisionEnter передается классом Collision, а не коллайдером. Класс Collision содержит информацию о точках контакта, скорости удара и т. д. Если вы не используете CollisionInfo в функции, не используйте параметр CollisionInfo, так как это позволяет избежать ненужных вычислений. Примечания: События столкновения отправляются только в том случае, если к одному из коллайдеров также присоединено некинематическое твердое тело. События столкновения будут отправляться отключенным MonoBehaviours, чтобы можно было включить поведение в ответ на коллизии.

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { AudioSource audioSource; void Start() { audioSource = GetComponent<AudioSource>(); } void OnCollisionEnter(Collision collision) { // Debug-draw all contact points and normals foreach (ContactPoint contact in collision.contacts) { Debug.DrawRay(contact.point, contact.normal, Color.white); } // Play a sound if the colliding objects had a big impact. if (collision.relativeVelocity.magnitude > 2) audioSource.Play(); } }

Другой пример:

// Граната // создает префаб взрыва при столкновении с поверхностью // затем уничтожает себя using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform explosionPrefab; void OnCollisionEnter(Collision collision) { ContactPoint contact = collision.contacts[0]; // Повернуть объект так, чтобы ось Y была направлена вдоль нормали к поверхности Quaternion rot = Quaternion.FromToRotation(Vector3.up, contact.normal); Vector3 pos = contact.point; Instantiate(explosionPrefab, pos, rot); Destroy(gameObject); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3