Назначение

Спроектирована для решения следующих задач:

  1. Динамическое разбиение модели по настроенным группам расчленения
  2. Редактирование групп расчленения с визуальным отображением охватываемой геометрии
  3. Поддержка иерархического расчленения
  4. Поддержка моделей, состоящих из нескольких мешей
  5. Поддержка LOD-ов

Описание

Система расчленения рэгдоллов позволяет производить динамическое отсечение геометрии заскиненного меша по заранее настроенным группам расчленения, что избавляет от необходимости моделировать все комбинации расчленения вручную в стороннем 3D-редакторе. Также система имеет редактор эффектов для групп расчленения, что позволяет закрыть дыры в отсечённой геометрии.

Так как система производит отсечения во время игры, то становится возможным её использование на моделях с изменяемой геометрией. Например, если в игре имеется система экипировки персонажа, то для системы расчленения достаточно настроить скелет персонажа, к которому будут привязываться модели тела и одежды в процессе геймплея.

Система поддерживает иерархическое расчленение. Например, если рука персонажа имеет две группы расчленения (одна охватывает верхнюю часть руки, а другая - предплечье и кисть), то при такой конфигурации становится возможным отсечь руку целиком, а затем отсечь её снова в локте.

Для корректной работы системы рекомендуется настраивать группы расчленения таким образом, чтобы их границы соответствовали поперечным сечениям в местах соединения костей скелета. При такой конфигурации иерархическое расчленение будет отрабатывать как задумано, а также становится возможным подключение физики рэгдолла (сломалось соединение между двумя частями тела → отработало поперечное расчленение).

Также система производит копирование компонента LOD Group с основной модели на отсечённые. Для корректного копирования уровней детализации необходимо, чтобы имя каждого меша заканчивалось на цифру, соответствующую номеру уровня детализации.

Основным компонентом системы является RagdollDismembermentVisual, который будет рассмотрен далее.

RagdollDismembermentVisual

Компонент RagdollDismembermentVisual отвечает за настройку групп расчленения, а также производит операции отсечения мешей модели. Компонент имеет следующий вид:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a69b180e-da7b-489a-9dc8-6db5e6140c61/Untitled.png

В панели View Settings находятся параметры отображения редактора расчленения. Параметр Draw Bounds переключает отрисовку границ групп расчленения. Параметр Draw Effects переключает отрисовку эффектов, появляющихся в местах расчленения. Параметр Draw Wireframe переключает отрисовку геометрии, охватываемой группами расчленения.