Создание иерархии элементов модели
Базовая кость модели
Кость basis
— это главная кость в иерархии любой модели техники. Она представляет собой хэлпер dummy, свойства которого содержат важную информацию о модели, включая:
тип модели;
путь экспорта модели в игру;
вид и длительность основных анимаций;
скорость вращения и размер колес (если модель содержит колеса одинакового размера, иначе размер колес задеется непосредстсвенно в костях колес )
параметр инверсной кинематики
IKType=revolute
c лимитами на поворот (если для модели доступна возможность вращения корпусом)
В иерархии элементов модели все кости основных элементов модели привязываются к кости basis
, а все вспомогательные кости модели привязываются к костям основных элементов.
Правила расположения и ориентации главной кости
Кость
basis
устанавливается в точке с координатамиX=0
,Y=0
,Z=0
, что обеспечивает правильное позиционирование модели в игровом пространстве.В окне проекции "Front" модель отображается с правого борта, что следует учитывать при ее настройке.
Направление вектора движения кости
basis
, а следовательно, и всей модели, ориентировано по оси X.
Правильная ориентация кости basis
важна для корректного позиционирования и движения модели в игре , а также отображения спрайта селекшена под моделью.
Видимые кости модели техники
Видимые кости модели - основные и второстепенные кости иерархии элементов модели, содержащие меш компонентов модели.
Основные кости
Основные кости представляют собой родительские кости в иерархии элементов модели, формирующие основную часть видимого меша компонентов техники.
body
[корпус]turret
[башня]cabin
[кабина]gun_rot
[механизм вертикальной наводки орудия]gun
[орудие]engine
[двигатель]track
иwheel
[кости трансмиссии]
Схема иерархии основных костей
basis
body
engine
cabin
turret
gun_rot
gun
Второстепенные кости
Второстепенные кости включают элементы меша компонентов техники и чаще всего связаны с деталями модели. К таким костям относятся:
detail
[визуальные детали]shield
[дополнительные листы бронирования]enumerator
[номер боевой машины]cover
/door
[люки и двери]кости подвески
Второстепенные кости обычно привязываются к основным костям, частью которых они являются.
Свойства видимых костей
Свойства костей прописываются в окне Object Properties
Параметр | Описание |
---|---|
| Определяет видимость кости.
Если в свойствах кости параметр |
| Идентификатор компонента техники.
Значение параметра |
| Список анимаций, если предусмотрены |
| Параметры инверсной кинематики. Позволяют кости работать по законам инверсной кинематики, устанавливают скорость и лимиты поворота кости по ИК. |
Значения ID для компонент техники
| Корпус |
| Двигатель |
| Кабина машины |
| Башня |
| Орудие |
| Левый и правый траки |
| Правые и левые колеса ( |
Значение идентификатора (ID
) у второстепенных костей, как правило, совпадает со значением идентификатора родительских костей, к которым они привязаны по иерархии.
Несмотря на совпадение названий, кость не является эквивалентом компонента техники.
Компонент техники может состоять из нескольких костей, имеющих разные названия, но при этом одинаковое значение ID
. Совокупно кости с одинаковым ID
формируют в игре определенный компонент техники.
Примеры:
кости
turret
,cover
иdetail
, в свойствах которых прописаноID=turret
формируют в игре компонент Башня.кости
body
,cover
иdetail
, в свойствах которых прописаноID=body
формируют в игре компонент Корпус.
Виды анимаций компонент
break
— анимация поломки компонента;repair
— анимация ремонта х-модели компонента.
Подробнее про настройку иерархии элементов видимых костей можно узнать из статей:
Вспомогательные кости
Вспомогательные кости — это преимущественно невидимые кости-хелперы, необходимые для обеспечения правильной работы визуальных, функциональных и анимационных аспектов модели.
Кости зрения
visor1
- неотображаемый хэлпер, кость обзора из башни, линкуется к костиturret
visor2
- неотображаемый хэлпер, служащий «глазами» танка по вектору движения, линкуется к костиbody
, в место смотровой щели на лобовой броне.
Кости для спецэффектов
Для реализации спецэффектов создаются кости-эффекторы, направление проигрывания которых ориентировано по оси X.
Название эффектора | Назначение |
---|---|
| Эффект горения двигателя |
| Эффект горения корпуса |
| Эффект горения башни |
| Пыль при выстреле танка |
| Эффекты выхлопных труб.
Если костей несколько, то в название добавляется порядковый номер: |
| Стоп-сигналы
Если костей несколько, то в название добавляется порядковый номер: |
| Свечение фар. Если костей несколько, то в название добавляется индексы сторон (L и R) |
| Дополнительные кости для эффектов свечения фар. Если костей несколько, то в название добавляется добавляется порядковый номер, причем, первая кость не содержит в названии порядковый номер. |
| Пыль и грязь от гусениц или колес. Если костей несколько, то в название добавляется порядковый номер и индексы сторон (L и R) |
| Эффекты выстрелов орудий и пулеметов. Если костей несколько, то в название добавляется порядковый номер |
Места для старта анимаций посадки экипажа
Для корректного воспроизведения анимаций посадки экипажа в юнит техники используются специальные кости типа emit
. Эти кости определяют точки старта анимаций, поэтому их позиционирование в пространстве важно.
Название | Описание |
---|---|
| Основные кости, указывающие точки старта проигрывания анимаций посадки экипажа непосредственно в танк.
Кости |
| Кости, определяющие точки в пространстве рядом с танком, указывающие места для посадки солдат-пассажиров на броню танка. |
Правила работы с костями типа emit
emit
Наличие и количество костей типа
emit
должно соответствовать потребностям анимации. Отсутствие необходимого числа костей может привести к некорректному поведению юнитов при посадке в техникуОриентация пивота Пивот каждой кости
emit
должен быть ориентирован по оси X к костиbody
. Это обеспечивает правильную ориентацию юнитов при проигрывании анимации посадки.Свойства костей Кости типа
emit
остаются невидимыми и не требуют прописывания свойств в [Object Properties]
Посадочные места на технике
Для обозначения мест, где юниты солдат размещаются на броне техники, используются невидимые кости типа seat
. Эти кости тесно связаны с костями emit
и определяют конечные позиции для анимаций посадки пассажиров.
Назначение костей типа seat
seat
seat01
,seat02
и т.д. — кости, которые размещаются напротив соответствующихemit
и обозначают места, где будут находиться солдаты на броне танка.
Правила работы с костями типа seat
seat
Наличие и количество костей типа
seat
должно соответствовать количеству костейemit
для видимых юнитов-пассажиров. Это гарантирует правильное воспроизведение анимаций посадки пассажиров.Позиционирование Корректное расположение костей
seat
обеспечивают реалистичное поведение юнитов при посадке на броню.Свойства костей Кости типа
seat
остаются невидимыми и не требуют прописывания свойств в [Object Properties]
Кости пулеметов
Кости типа mgun
служат местами для пулеметов.
Эта кость может быть как видимой, состоящей из полигонов, так и невидимой — в виде хэлпера.
Кость mgun
линкуется к тому элементу, на котором предусмотрено место крепления пулемета.
Свойства костей типа mgun
mgun
poly | Наличие параметра poly в Object Properties делает кость видимой. Кость должна быть видимой, если в модели присутствует меш пулемета. Если в модели присутствует только пулемётное гнездо (то есть место, где пулемет может быть установлен, но сам пулемет не видно), то кость должна быть невидимой. |
IKType=revolute IKMin=<значение> IKMax=<значение> | Параметры инверсной кинематики, если предусмотрено наведение пулемета по законам инверсной кинематики |
К костям mgun
линкуются хелперы foresight
, спавнящие по оси X спецэффект пулеметного выстрела.
Правило соответствия названий mgun
-foresigh
Если на технике имеется несколько дополнительных пулеметов, необходимо строго соблюдать правило соответствия названий эффектора foresight
и места его линковки к кости mgun:
mgun
—foresight3
mgun1
—foresight4
mgun2
—foresight5
mgun3
—foresight6
Несоответствие названий приведет к ошибкам работы скриптов.
Типы пулеметов на технике
Название пулемета | Описание |
---|---|
aa | Зенитный |
hull | Курсовой пулемет, расположен в корпусе |
coaxial | Спаренный пулемет, расположен в башне |
rear | Задний пулемет |
Привязка пулеметов к костям
На этапе моделирования важно предусмотреть нужное количество костей типа mgun
, соответствующее максимально возможному количеству мест установки пулеметов на технику. Настройка привязки пулеметов к костям прописывается в .def файле модели в блоках типа {placer "mgun<N>" [...]}
, где <N> - корядковый номер.
Волюмы
Волюм volume
— это параметрическая (например, box, sphere, cylinder) или мешевая (edit poly) форма, покрывающая меш модели, по которой рассчитываются физические взаимодействия юнита в игре.
Изготовление и настройка волюмов
Кости типа volume
делаются для всех основных костей модели.
Для каждой основной кости делается свой волюм или набор волюмов.
Для костей типа detail делать волюмы не нужно, так как в игровом движке волюмы для визуальных частей не поддерживаются.
Форму меша волюмов нужно подбирать таким образом, чтобы обеспечить реалистичные физические взаимодействия. В [Object Properties] волюмов необходимо прописать параметр volume
.
На полигоны меша волюма назначается Material ID
, по которому происходит рассчет бронепробиваемости.
Волюм следует начинать вытягивать из прямоугольника в окне проекции Top, тогдаMaterial IDs
на плоскости волюма назначаются автоматически и не требуют дополнительной проверки или переназначения, согласно установленным правилам.
Волюмы должны оставаться стандартными примитивами. Перевод примитива в полигональные формы с помощью инструментов editable poly рекомендуется только в случаях, когда сложную геометрию части модели невозможно описать примитивом.
Допускается изменение геометрии примитива, из которого сделан волюм, на уровне подобъектов, если форма созданной модели не является однообъемной. В таких случаях разрешается создание нескольких костей типа volume
с одинаковыми свойствами.
Между такими волюмами не должно быть промежутков, однако незначительное пересечение волюмов допускается.
Примеры изготовления волюмов. На первом скриншоте волюмы созданы правильно. На втором скриншоте волюм создан неправильно, так как будет препятствовать попаданиям снарядов/пуль по юнитам, находящимся в кабине.
Правила именования волюмов
Волюм, покрывающий меш основной кости, имеет в названии имя этой кости. Например, body_vol, turret_vol, engine_vol.
Если волюмов, покрывающих кость несколько, то в именах волюмов используется нумерация. Шаблон для именования волюмов: bonenameN_vol, где N - порядковый номер. Например, body01_vol, body02_vol, body03_vol.
Переназначение Material ID
для плоскостей волюмов-полигидронов
Material ID
для плоскостей волюмов-полигидроновВ волюмах-полигидронах для корпуса необходимо каждому полигону в свойствах блока Polygon: Material IDs
для параметра Select ID
задать значение, которое строго соотвествует таблице:
Front - 1
Top - 2
Left - 3
Right - 4
Back - 5
Bottom - 6
По параметру ID рассчитывается виртуальная броня компонент техники: лобовая броня, борта, корма и т.д.
Волюмы для стекол кабины
Для машин и других юнитов, имеющих стекла создаются волюмы для стекол.
Название они имеют window<N>_vol
, где <N> - уникальный индекс волюма.
Для добавления анимации разрушения стекла в .def файле юнита в блоке props
необходимо добавить свойство windowed
.
Волюмы специального назначения
Волюм для рассчета тарана
Волюм ram_vol
, используется для расчета столкновений при таране техники.
Представляет собой полигидрон с центральной выпуклостью, минимизирующей вероятность застревания техники при ударе под прямым углом с другими объектами.
Назначения Material ID плоскостей не требуется.
Волюм экипажа
Волюм crew_vol
, обеспечивает взаимодействие с экипажем внутри техники.
Применяется в моделях тяжелой техники с открытой рубкой или в транспортных средствах с кузовом.
Может быть реализован как примитивная геометрическая фигура или как полигидрон, в зависимости от структуры модели.
Назначения Material ID плоскостей не требуется.
Волюм-ловец гранат
Волюм sticky_vol
отвечает за притягивание брошенных в юнит техники гранат к определенным зонам техники.
Используется в тяжелой технике с открытой рубкой или в транспортных средствах с кузовом. Формируется по внутреннему пространству техники для повышения вероятности попадания гранаты внутрь уязвимой области.
Волюм топливного бака.
Волюм fuel_vol
обозначает геометрию взаимодействия с внешним топливным баком автомобильной техники.
Last updated