Эта статья относится к игре "Half-Life: Alyx". Нажмите для получения дополнительной информации.
This article relates to the workshop tools for "Half-Life: Alyx". Click here for more information.
This article's documentation is for Source 2. Click here for more information.

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

From Valve Developer Community
Jump to navigation Jump to search
Under construction.png
Эта страница претерпевает крупные изменения.
В порядке вежливости не редактируйте страницу , пока это сообщение не будет убрано. Если страница не редактировалась уже несколько часов или дней, удалите этот шаблон.
Данное сообщение позволяет предотвратить конфликт редактирований; удаляйте сообщение между сеансами редактирования, чтобы передать очередь редактирования другим участникам.

Участник, добавивший сообщение, есть в истории изменений, и вы можете связаться с ним.

Info content.png
This page needs to be translated.
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 tries to comply with the alternate languages guide.(en)

English (en)Русский (ru)Translate (Translate)
Note.pngПримечание:Этот урок предполагает базовое знакомство с использованием ModelDoc, как описано в предыдущих руководствах.

Создание физического объекта

Начнем с создания простого физического объекта в виде коробки из примитивов.

Этот урок использует примитивные формы для рендеринга и физики, но вместо них можно напрямую использовать файлы моделей (.fbx, .dmx). Фильтры импорта позволяют создать единый FBX-файл, содержащий множество частей модели, которые затем можно использовать как отдельные разрушаемые части.

  • Добавьте узлы RenderPrimitiveBox и PhysicsShapeBox с координатами (0,0,8) и размерами (16,16,16).

Breakable Props-132120844.png


  • Примените к физической коробке свойство поверхности ‘prop.wood_box’.

Breakable Props-132120843.png


  • Добавьте узел prop_data, чтобы указать, что эта модель предназначена для использования как физический объект.
  • Теперь используйте предпросмотр в ModelDoc, чтобы убедиться, что модель можно создать как prop_physics и перемещать в игре.

Breakable Props-132120848.png

Breakable Props-132120850.gif

Добавление разрушаемого элемента

  • Сначала отредактируйте prop_data, указав уровень прочности (health) — это позволит объекту получать урон и разрушаться при наличии разрушаемых частей:

Breakable Props-132120852.png

  • Добавьте узел BreakPieceEmbedded — он содержит всё необходимое для разрушаемого элемента без необходимости создавать его как отдельную модель.
  • Внутри BreakPieceEmbedded добавьте RenderPrimitiveBox и PhysicsShapeBox с координатами (0,4,8) и размерами (15,7,15). Это можно сделать копированием созданных ранее коробок.
  • Для наглядности назначьте RenderPrimitiveBox материал primary_red.vmat, чтобы разрушение было хорошо заметно.

Breakable Props-132120862.png

Breakable Props-132120864.png

Breakable Props-132120865.png

Каждый узел BreakPieceEmbedded фактически является небольшим встроенным под-документом, который может содержать большинство узлов. (Примечание: из-за ограничений редактора может появляться предупреждение о некоторых узлах, но в большинстве случаев они работают нормально.) При компиляции родительской модели каждый BreakPieceEmbedded извлекается и компилируется в отдельный vmdl_c, который затем используется в информации о разрушении родительской модели.

Добавление второго разрушаемого элемента

Разрушение выглядит не так интересно, если объект ломается на одну часть. Щелкните правой кнопкой мыши по BreakPiece, выберите “Duplicate” и измените координаты новых коробок на (0,-4,8).

Breakable Props-132120863.png

Мы сделали разрушаемые части немного меньше оригинальной коробки, чтобы избежать их наложения при спавне. Физический движок устойчив к пересечениям объектов, но лучше их избегать!

Тестирование разрушаемого объекта

Используйте предпросмотр в игре, создайте prop_physics и проверьте, что он получает урон и разрушается при стрельбе. Поздравляем! Вы создали свою первую разрушаемую модель!

Breakable Props-132120867.gif