Разрушаемые элементы

As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.
The person who added this notice will be listed in its edit history should you wish to contact them.

This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article complies with the alternate languages guide.

Создание физического объекта
Начнем с создания простого физического объекта в виде коробки из примитивов.
Этот урок использует примитивные формы для рендеринга и физики, но вместо них можно напрямую использовать файлы моделей (.fbx, .dmx). Фильтры импорта позволяют создать единый FBX-файл, содержащий множество частей модели, которые затем можно использовать как отдельные разрушаемые части.
- Добавьте узлы RenderPrimitiveBox и PhysicsShapeBox с координатами (0,0,8) и размерами (16,16,16).
- Примените к физической коробке свойство поверхности ‘prop.wood_box’.
- Добавьте узел prop_data, чтобы указать, что эта модель предназначена для использования как физический объект.
- Теперь используйте предпросмотр в ModelDoc, чтобы убедиться, что модель можно создать как prop_physics и перемещать в игре.
Добавление разрушаемого элемента
- Сначала отредактируйте prop_data, указав уровень прочности (health) — это позволит объекту получать урон и разрушаться при наличии разрушаемых частей:
- Добавьте узел BreakPieceEmbedded — он содержит всё необходимое для разрушаемого элемента без необходимости создавать его как отдельную модель.
- Внутри BreakPieceEmbedded добавьте RenderPrimitiveBox и PhysicsShapeBox с координатами (0,4,8) и размерами (15,7,15). Это можно сделать копированием созданных ранее коробок.
- Для наглядности назначьте RenderPrimitiveBox материал primary_red.vmat, чтобы разрушение было хорошо заметно.
Каждый узел BreakPieceEmbedded фактически является небольшим встроенным под-документом, который может содержать большинство узлов. (Примечание: из-за ограничений редактора может появляться предупреждение о некоторых узлах, но в большинстве случаев они работают нормально.) При компиляции родительской модели каждый BreakPieceEmbedded извлекается и компилируется в отдельный vmdl_c, который затем используется в информации о разрушении родительской модели.
Добавление второго разрушаемого элемента
Разрушение выглядит не так интересно, если объект ломается на одну часть. Щелкните правой кнопкой мыши по BreakPiece, выберите “Duplicate” и измените координаты новых коробок на (0,-4,8).
Мы сделали разрушаемые части немного меньше оригинальной коробки, чтобы избежать их наложения при спавне. Физический движок устойчив к пересечениям объектов, но лучше их избегать!
Тестирование разрушаемого объекта
Используйте предпросмотр в игре, создайте prop_physics и проверьте, что он получает урон и разрушается при стрельбе. Поздравляем! Вы создали свою первую разрушаемую модель!