Друзья, приветствую, с Вами Будуев Антон. В данной статье мы обсудим класс компонента 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 — коробка, обычно используемая для простой коллизии. Границы отображаются в редакторе в виде линий.
В отличие от Capsule Collision и Sphere Collision, имеющих так или иначе округлую форму, Box Collision, из-за своей кубической структуры, зачастую используется для создания простой коллизии у статичных объектов (стены, мебель и прочее). А также для создания интерактивных объёмов, реагирующих на пересечение с какими-либо другими движущимися объектами и запускающих соответствующую логику. Например, при помощи Box Collision можно создать объём для интерактивности двери, ящика, окна, войдя в который, игрок сможет запустить соответствующую логику открытия двери, ящика, окна.

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

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

- Box Extent — размеры прямоугольного параллелепипеда. Свойство задаёт половину размеров коробки по каждой оси (радиусы).
- X (ширина) — размер половины коробки по оси X.
- Y (глубина) — размер половины коробки по оси Y.
- Z (высота) — размер половины коробки по оси Z. Рекомендуется изменять размеры бокса именно через этот параметр, а не через изменение его масштаба (Transform/Scale).
- Line Thickness — толщина линии прорисовки самого куба.
- Shape Color — цвет линий прорисовки самого куба.
Настройки Rendering
По умолчанию коробка коллизии прорисовывается только в редакторе. На игровом уровне коллизия всегда скрыта. Но при разработке игры для тестов игровых механик часто требуется видеть границы коллизии. В таких ситуациях используют параметр Hidden in Game (скрытый в игре) раздела Rendering вкладки Details. По умолчанию эта опция включена, соответственно, коллизия в игре скрыта. Если же опцию отключить, то границы коллизии в игре станут видны, что можно использовать при тестировании и настройке игровых механик.

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

Так как коллизия, её типы, режимы, пресеты — это в целом очень обширная тема, то все эти вопросы рассмотрены очень подробно в отдельных развёрнутых статьях:
- что такое пресеты коллизий: Collision Presets;
- что такое типы объектов и ответные реакции: Object Type и Responses;
- что такое режимы работы коллизии: Collision Enabled.
Функции 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 урока:
- При помощи Box Collision создан объём для взаимодействия с объектом (включение/отключение вращения объекта при входе игрока в объём). Перейти к практике >>
- Замедление игрового времени при пересечении игроком объёма Box Collision (триггерной зоны). Перейти к практике >>
Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.