---
title: Формы столкновения
brief: Объект столкновения может использовать несколько геометрических примитивов в качестве формы или одну сложную форму.
---
# Формы столкновения
Объект столкновения может использовать несколько геометрических примитивов в качестве формы или одну сложную форму.
### Примитивные формы
Примитивные формы --- это *Box*, *Sphere* и *Capsule*. Добавить примитивную форму можно выполнив клик ПКМ на объекте столкновения и выбрав Add Shape:

## Форма Box
У бокса есть позиция, вращение и размеры (ширина, высота и глубина):

## Форма Sphere
У сферы есть позиция, вращение и диаметр:

## Форма Capsule
У капсулы есть позиция, вращение, диаметр и высота:

::: important
Форма капсулы поддерживается только при использовании 3D физики (настраивается в секции Physics файла *game.project*).
:::
### Комплексные формы
Сложная форма может быть создана либо из компонента тайловой карты либо из выпуклой формы.
## Форма столкновения из тайловой карты
В Defold встроена функция, позволяющая легко генерировать физические формы для источника тайлов, используемого тайловой картой. [Руководство по источникам тайлов](/manuals/tilesource/#tile-source-collision-shapes) объясняет как добавлять группы столкновений в источник тайлов и назначать тайлы группе столкновений ([пример](/examples/tilemap/collisions/)).
Чтобы добавить столкновение к тайловой карте:
1. Добавьте тайловую карту игровому объекту кликнув ПКМ на игровом объекте и выбрав Add Component File. Выберите файл тайловой карты.
2. Добавьте объект столкновения кликнув ПКМ на игровом объекте и выбрав Add Component ▸ Collision Object.
3. Вместо добавления форм компоненту столкновений, задайте в качестве значения свойства *Collision Shape* файл *тайловой карты*
4. Как обычно, задайте *свойства* объекта столкновения.
{srcset="images/physics/collision_tilemap@2x.png 2x"}
::: important
Учтите, что свойство *Group* **не** учитывается в таком случае, так как группы столкновений задаются в источнике тайлов соответствующей тайловой карты.
:::
## Выпуклые формы
В Defold встроена функция, позволяющая вам создавать выпуклые формы из трех или более точек. Можно воспользоваться внешним инструментом, таким как [Defold Polygon Editor](/assets/defoldpolygoneditor/) или [Physics Body Editor](/assets/physicsbodyeditor/) для создания выпуклых форм.
1. Создайте файл выпуклой формы (расширение файла `.convexshape`) используя внешний редактор.
2. Вместо добавления форм к объекту столкновений, в качестве значения свойства *Collision Shape* укажите файл *выпуклой формы*.
::: sidenote
Форма не будет отрисована в редакторе. Можно [включить отладку физики](/manuals/debugging/#debugging-problems-with-physics) во время выполнения игры, чтобы видеть формы.
:::
# Масштабирование форм столкновения
Объект столкновения и его формы наследуют масштаб игрового объекта. Чтобы отключить это поведение, отключите опция [Allow Dynamic Transforms](/manuals/project-settings/#allow-dynamic-transforms) в секции Physics файла *game.project*. Учтите, что поддерживается только равномерное масштабирование, а также то, что будет применено наименьшее значение масштабирования, если было задано не равномерное масштабирование.
# Вращение форм столкновения
## Вращение форм столкновения в 3D физике
Формы столкновения в 3D-физике могут поворачиваться вокруг всех осей.
## Вращение форм столкновения в 2D физике
Формы столкновения в 2D физике могут поворачиваться только вокруг оси z. Вращение вокруг осей X или Y выльется в некорректные результаты и его стоит избегать, даже когда происходит вращение на 180 градусов для фактически переворота формы вокруг оси X или Y. Для переворота физической формы рекомендуется использовать [`physics.set_hlip(url, flip)`](/ref/stable/physics/?#physics.set_hflip:url-flip) и [`physics.set_vlip(url, flip)`](/ref/stable/physics/?#physics.set_vflip:url-flip).