Поиск пересечений



В этом уроке мы рассмотрим объект “Поиск пересечений”, который позволяет находить пересечения объектов сцены с виртуальным лучом.

В нашем примере, в сцене присутствует объект “Модель”, добавим объект “Поиск пересечений”. В сцене появится виртуальный луч, который начинается в нуле координат и уходит вниз. В свойствах объекта вы можете настраивать длину сегмента, радиус луча, его цвет, а также полностью отключить его визуализацию в сцене.

Но что сделать, чтобы задать положение этого луча? Сделать это несложно: добавьте объект “Поиск пересечений” в качестве дочернего в объект “Система координат”, и двигайте его с помощью манипуляторов.

Теперь, когда мы определили положение луча, можно искать его пересечение с объектами сцены. Делается это в сценарии. Для начала, при наступлении какого-либо события, необходимо вызвать действие “Найти пересечение”. Затем необходимо подписаться на событие “Пересечение”, в аргументах которого можно выбрать с каким объектом мы ищем пересечение и поставить опцию “Не найдено”, если пересечение с этим объектом не найдено. В нашем примере, при нажатии на модель, мы определяем есть ли пересечение луча с ней, и если оно есть, то запускаем у модели анимацию. Заметим, что после пересечения, длина луча изменяется - теперь его длина это расстояние до пересечения с моделью.

Также в сценарии есть возможность настроить все свойства луча и включить или отключить визуализацию.