Unity 6.3
0 онлайн 72 гостей 3 в системе
Вход
Физика Шаг 49 из 99

OnTrigger события

Коллайдеры с триггерами не вызывают столкновения. Вместо этого они обнаруживают другие коллайдеры, которые проходят через них, и вызывают функции, которые можно использовать для инициирования событий.

Примеры использования триггеров:

  • Когда игрок достигает определенной зоны в конце коридора, активируйте кинематографическую сцену.
  • Когда персонаж игрока проходит в пространстве перед раздвижной дверью, запустить анимацию, чтобы открыть дверь.
  • При прохождении снарядов через коллайдер на большом расстоянии обезвреживать или уничтожать снаряд.

Работа с триггерными коллайдерами в основном включает следующие функции API:

  • Collider.OnTriggerEnter: Unity вызывает эту функцию на коллайдере-триггере, когда он впервые контактирует с другим коллайдером.
  • Collider.OnTriggerStay: Unity вызывает эту функцию на коллайдере триггеров один раз в кадре, если он обнаруживает другой Collider внутри коллайдера триггеров.
  • Collider.OnTriggerExit: Unity вызывает эту функцию на коллайдере-триггере, когда он прекращает контакт с другим коллайдером.

Следующий пример отображает сообщение в Консоль при вызове каждой функции Unity.

using UnityEngine;
using System.Collections;

public class DoorObject : MonoBehaviour
{
    // “other” refers to the collider on the GameObject inside this trigger
    void OnTriggerEnter (Collider other)
    {
        Debug.Log ("A collider has entered the DoorObject trigger");
    }

    void OnTriggerStay (Collider other)
    {
        Debug.Log ("A collider is inside the DoorObject trigger");
    }
    
    void OnTriggerExit (Collider other)
    {
        Debug.Log ("A collider has exited the DoorObject trigger");
    }
}

Для примеров практического применения событий OnTrigger см. Примеры скриптов для событий коллайдера.