Box Component (Box Collision) в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В данной статье мы обсудим класс компонента Box Component (Box Collision) в Unreal Engine (UE5, UE4), предоставляющий собой геометрический коллизионный примитив в виде прямоугольного параллелепипеда (Box)

Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.

Box Component (Box Collision)

Box Component (Box Collision) в Unreal Engine — это компонент, представляющий собой невидимый в игре коллизионный геометрический примитив в виде прямоугольного параллелепипеда (Box), который может быть добавлен к любому Актору (Actor) как в Blueprint, так и в C++. Предназначен он преимущественно для реализации простой коллизии (столкновений) и триггерных зон в игровом мире. В редакторе границы компонента визуализируются линиями.

Box Component (Box Collision) в Unreal Engine — компонент простой коллизии в виде параллелепипеда (Box)
Box Component (Box Collision) в Unreal Engine — компонент простой коллизии в виде параллелепипеда (Box)

Перевод официальной справки: Box Component — коробка, обычно используемая для простой коллизии. Границы отображаются в редакторе в виде линий.

В отличие от Capsule Collision и Sphere Collision, имеющих так или иначе округлую форму, Box Collision, из-за своей кубической структуры, зачастую используется для создания простой коллизии у статичных объектов (стены, мебель и прочее). А также для создания интерактивных объёмов, реагирующих на пересечение с какими-либо другими движущимися объектами и запускающих соответствующую логику. Например, при помощи Box Collision можно создать объём для интерактивности двери, ящика, окна, войдя в который, игрок сможет запустить соответствующую логику открытия двери, ящика, окна.

Компонент Box Collision, используемый в качестве объема, регистрирующего пересечения с игроком для создания логики взаимодействия с дверью
Компонент Box Collision, используемый в качестве объема, регистрирующего пересечения с игроком для создания логики взаимодействия с дверью

Основное предназначение Box Collision Component — служить простой формой коллизии (столкновения) для различных статичных объектов Actor. А также объёмом (триггерной зоной) для активации событий при входе персонажа в определенную область или создания интерактивных объектов, войдя в объём которых, игрок сможет взаимодействовать с этими объектами.

Наследование классов

Box Component наследуется от класса Shape Component, расширяя его функционалом непосредственной реализации коллизионной формы примитива в виде параллелепипеда (Box).

Box Component расширяет родительский класс Shape Component функционалом непосредственной реализации коллизионной формы примитива в виде параллелепипеда (Box)
Box Component расширяет родительский класс Shape Component функционалом непосредственной реализации коллизионной формы примитива в виде параллелепипеда (Box)

Настройки Box Component (Box Collision) во вкладке Details

Ниже мы разберём некоторые опции во вкладке Details, которые используются чаще остальных при настройке Box Collision. Остальные же опции вкладки Details полностью аналогичны параметрам компонента статического Меша, изучить которые Вы можете в отдельной статье: Details в Static Mesh Component.

Настройки Box

Основные настройки Box Collision с точки зрения определения самого куба немногочисленны. Находятся они во вкладке Details в разделе Shape.

Box Collision — настройки Shape
Box Collision — настройки Shape
  • Box Extent — размеры прямоугольного параллелепипеда. Свойство задаёт половину размеров коробки по каждой оси (радиусы).
    • X (ширина) — размер половины коробки по оси X.
    • Y (глубина) — размер половины коробки по оси Y.
    • Z (высота) — размер половины коробки по оси Z. Рекомендуется изменять размеры бокса именно через этот параметр, а не через изменение его масштаба (Transform/Scale).
  • Line Thickness — толщина линии прорисовки самого куба.
  • Shape Color — цвет линий прорисовки самого куба.

Настройки Rendering

По умолчанию коробка коллизии прорисовывается только в редакторе. На игровом уровне коллизия всегда скрыта. Но при разработке игры для тестов игровых механик часто требуется видеть границы коллизии. В таких ситуациях используют параметр Hidden in Game (скрытый в игре) раздела Rendering вкладки Details. По умолчанию эта опция включена, соответственно, коллизия в игре скрыта. Если же опцию отключить, то границы коллизии в игре станут видны, что можно использовать при тестировании и настройке игровых механик.

Box Collision Rendering — Hidden in Game (скрыть в игре)
Box Collision Rendering — Hidden in Game (скрыть в игре)

Настройки Collision

Ещё один раздел из вкладки Details, который часто используется при настройке Box Collision, — это, собственно, настройка самой коллизии, а именно выбор готового пресета коллизии или детальная пользовательская настройка с выбором режима работы коллизии, типа объекта и ответной реакции коллизии на пересечение с другими типами объектов.

Настройки Collision
Настройки Collision

Так как коллизия, её типы, режимы, пресеты — это в целом очень обширная тема, то все эти вопросы рассмотрены очень подробно в отдельных развёрнутых статьях:

Функции Box Component (Box Collision)

Функции компонента Box Component (Box Collision)
Функции компонента Box Component (Box Collision)
  • Get Scaled Box Extent — возвращает масштабированные размеры коробки (Box Extent) с учётом текущего масштаба компонента в сцене.
  • Get Unscaled Box Extent — возвращает текущие размеры коробки (Box Extent) без учета масштабирования компонента.
  • Set Box Extent — устанавливает новый размер коробки (Box Extent): радиус по осям X, Y и Z, без учета масштаба компонента.

Практический урок в Unreal Engine

В качестве практики в Blueprints по работе с Box Collision Вы можете изучить 2 урока:

  1. При помощи Box Collision создан объём для взаимодействия с объектом (включение/отключение вращения объекта при входе игрока в объём). Перейти к практике >>
  2. Замедление игрового времени при пересечении игроком объёма Box Collision (триггерной зоны). Перейти к практике >>

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.


наш Телеграм канал

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.