Параметры
other | Другой коллайдер участвовал в этом столкновении. |
Описание
Когда GameObject сталкивается с другим GameObject, Unity вызывает OnTriggerEnter.
OnTriggerEnter возникает в функции FixedUpdate при столкновении двух игровых объектов. Задействованные коллайдеры не всегда находятся в точке первоначального контакта.
Примечание. Оба объекта GameObject должны содержать компонент Collider. У одного должен быть включен Collider.isTrigger и он должен содержать Rigidbody. Если для обоих игровых объектов включен Collider.isTrigger, столкновения не происходит. То же самое относится к случаям, когда оба объекта GameObject не имеют компонента Rigidbody.
Чтобы использовать следующий пример кода, создайте примитив GameObject и присоедините к нему Collider и Rigidbody к нему. Включите Collider.isTrigger и Rigidbody.isKinematic. Этот GameObject будет двигаться вперед, пока не столкнется с другим GameObject. При столкновении направление немедленно меняется на противоположное.
using UnityEngine;
public class Example : MonoBehaviour
{
private float speed = 2f;
//Перемещает этот GameObject на 2 единицы в секунду в прямом направлении
void Update()
{
transform.Translate(Vector3.forward * Time.deltaTime * speed);
}
//При столкновении с другим GameObject этот GameObject изменит направление
private void OnTriggerEnter(Collider other)
{
speed = speed * -1;
}
}