Collider.OnTriggerEnter(Collider)
Параметры
| Параметр | Описание |
|---|---|
| прочие | Другие Collider, участвовавшие в этом столкновении. |
Описание
Вызывается, когда Collider со свойствами Collider.isTrigger перекрывается с другим Collider.
OnTriggerEnter вызывается, когда два GameObjects с компонентом Collider соприкасаются или перекрываются, и один из компонентов Collider имеет разрешенное свойство Collider.isTrigger. Триггер Collider не регистрирует столкновения с входящим Rigidbody и не столкновения с любыми другими GameObjects, которые имеют Коллайдеры на них. События вызываются во время моделирования, которое происходит после вызова всех методов FixedUpdate, или в пределах Physics.Simulate, если вы используете ручную физику моделирования.
Любой Collider на GameObject, который имеет компонент Rigidbody, или на дочернем GameObject с компонентом Rigidbody может создавать события OnTrigger.
Чтобы использовать следующий пример кода, создайте примитивный GameObjectи присоедините к нему компонент Collider и Rigidbody. Включите Collider.isTrigger и Rigidbody.isKinematic. Этот GameObject будет двигаться вперед, пока он не столкнется с другим GameObject. Когда столкновение происходит, направление немедленно меняется.
using UnityEngine;
public class Example : MonoBehaviour { private float speed = 2f;
//Moves this GameObject 2 units a second in the forward direction void Update() { transform.Translate(Vector3.forward * Time.deltaTime * speed); }
//Upon collision with another GameObject, this GameObject will reverse direction private void OnTriggerEnter(Collider other) { speed = speed * -1; } }