Друзья, приветствую, с Вами Будуев Антон. В данной статье мы обсудим класс компонента Shape Component в Unreal Engine (UE5, UE4), предоставляющий общую функциональность для реализации простейших форм (Sphere, Capsule, Box).
Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.
Shape Component
Shape Component в Unreal Engine — это абстрактный класс, используемый для представления простых геометрических примитивов в Unreal Engine. Он расширяет функциональность Primitive Component, добавляя общую функциональность и структуру данных в контексте физики, отрисовки и навигации, необходимых для работы с простейшими геометрическими формами (сфера, капсула и коробка).
* Абстрактный класс компонента (Abstract Component) в Unreal Engine (UE5, UE4) — это класс компонента, объект которого не может быть создан напрямую. Такой класс служит в качестве основы или шаблона для других, более конкретных (неабстрактных) компонентов.
Перевод официальной справки: Shape Component — это Primitive Component, который представлен простой геометрической формой (сферой, капсулой, коробкой).
Поскольку класс Shape Component является абстрактным, создавать объекты непосредственно данного класса нельзя. Вместо этого он используется как шаблон для дочерних классов, наделяя их своей основной функциональностью, заключающейся в описании свойств и функций, требуемых для простейших форм. Сами простейшие формы этот класс не реализует, он лишь подготавливает необходимую для них базу, чтобы не дублировать этот код во всех классах, которые непосредственно реализуют эти простейшие формы.
Ключевые особенности Shape Component
- Geometry: представляет технологическую базу для отрисовки в дочерних компонентах простейших форм (сфера, капсула и коробка).
- Body Setup: имеет связанный объект Body Setup, описывающий параметры коллизии и физики для простейшей формы.
- Navigation: предоставляет функциональность влияния простейшей формы на навигационную сетку (Navigation Mesh).
- Rendering: имеет параметры цвета и толщины линий, необходимые для рендеринга (отрисовки, отображения) простейшей формы в редакторе (игре).
* Body Setup — объект, содержащий информацию о физических свойствах примитивного компонента, включая геометрию столкновения (Collision Geometry), флаги взаимодействия и параметры для физического движка. Используется при создании физического тела (Body Instance) и передаётся в физический движок для обработки столкновений, триггеров и других физических взаимодействий.
Наследование классов
Родительский класс
Shape Component наследуется от класса Primitive Component, расширяя его технологической базой, требуемой для отображения простейших форм (сфера, капсула и коробка), работы с этой формой и её взаимодействия с внешним миром (коллизия и физика).

Дочерние классы
Вследствие своей абстрактности, Shape Component является базовым классом для более специализированных компонентов:
- Sphere Component: компонент, представляющий простейшую форму сферы.
- Box Component: компонент, представляющий простейшую форму параллелепипеда (коробки).
- Capsule Component: компонент, представляющий простейшую форму капсулы.
Настройки Shape Component во вкладке Details
ShapeComponent, как и многие другие компоненты, имеет ряд небольших настроек во вкладке Details, которые, в последствии, наследуют все его дочерние классы. Рассмотрим подробнее эти настройки.

- Line Thickness — параметр, задающий толщину линий, с которыми отображается геометрическая форма компонента при рендеринге (в редакторе и/или в отладочном режиме в игре). Изменение этого значения влияет на визуальное представление контура формы.
- Shape Color — цвет, который используется для отрисовки геометрической формы компонента в редакторе Unreal Engine и в игре в режиме отладки (определяет визуальный цвет линии формы при рендеринге).
Функции Shape Component
Для класса ShapeComponent в Blueprint представлена всего одна единственная функция:

Set Line Thickness — функция, доступная из C++ и Blueprints, позволяющая задать толщину линий (Line Thickness), используемых для визуализации простейших форм (сфера, капсула и коробка).
Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.