Сообщество Империал: Создание моделей VariantMeshDefinitions. Часть 1 - Моддинг Total War: Rome II (Rome 2 Total War) - Total War: Rome II (Rome 2: Total War) - Библиотека - Сообщество Империал

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

Информация об авторе

  • Автор: K0rw1n

Информация по статье

  • Добавлено: 17 Янв 2014, 23:58
  • Обновлено: 20 Дек 2014, 16:51
  • Просмотры: 1510

Дополнительно

Репутация: 2
Создание моделей VariantMeshDefinitions. Часть 1

Описание: Разбираемся с моделями юнитов Total War: Rome II (Rome 2 Total War)
Данный туториал поможет начинающим мододелам создать модели новых юнитов и доспехов для них или отредактировать существующие.

Пока нам не доступно создание новых моделей, и импорт их в игру, мы можем использовать лишь те модели что есть, но мы может править текстуры, плюс Рим2 наделён рядом отличных особенностей, таких как подкраска вертексов(например можно не вставляя новых текстур подкрасить\перекрасить те что есть), мы может так же добавлять рандомность различным элементам( плюмажам например) используя для одного шлема несколько их видов, так же нам доступно нанесению с помощью "альфа маски" на элементы различных узоров, т.е нам не нужно делать щиты с различными узорами, мы можем накладывать с референсных текстур узоров рисунок сверху на исходные. Так же разнообразие среди вариаций и используемых моделей ( т.е меш и текстура), рандомно появляющихся на одном юните, т.е отсутствуют поголовные клоны в отрядах.

Файлы VariantMeshDefinition юнитов лежат в папке VariantMeshes, файлы из которых они собираются в VariantModels , и запакованы в models_rome2 .pack (большинство) и models.pack



Для работы нам понадобятся:

1. Pack File Manager
2. Сама игра (точнее файлы моделей)
3. Текстовый редактор (например стандартный блокнот)

Рассмотрим структуру файла. В качестве примера я буду использовать Gre_Hoplites.VariantMeshDefinition.



В первую очередь хочется отметить интуитивно-понятные наименования блоков в файле. Курсивом отмечены мои комментарии:

<VARIANT_MESH> - Основной блок в который всё и внесено по этому юниту(внешний вид). Все блоки имеют структуру: <открытие блока>, </закрытие блока> ,<пустой блок />.
<SLOT name="skin" > - Слот "Кожа", в данном случае обозначает блок юнита. В файле брони и оружия первый блок будет называться иначе.
<VARIANT_MESH> - Блок включающий в себя блоки по юниту с данным типом кожи (текстурой). Таких блоков в отряде может быть несколько, следовательно можно создавать юниты с абсолютно различным вооружением, одеждой , типом кожи и тд.
<SLOT name="hair" > - Слот "Волосы"
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/skin/greek_game_skin.VariantMeshDefinition" /> - В данном случае здесь прописан внешний вид юнита греческого типа. Все файлы ссылаются друг на друга, и тут мы видим ссылку на другой файл, а именно файл, где описаны кожа и волосы греков.
</SLOT> - Закрытие блока "Волосы"
<SLOT name="beards" /> - Слот "Борода\усы", как видим это пустой блок, но никто не мешает нам добавить запись.
<SLOT name="helmets" > - Слот "Шлемы", ниже вы видите несколько записей, это позволяет юниту рандомно использовать все виды шлемов, скорее рандом рассчитан: тут 5 предметов значит, каждый будет у 1/5 юнитов. Но если вы скажем добавите две одинаковые вещи то шанс их появления среди 5остальных уже будет 2/5, если 3 одинаковые то соответственно у 3/5 юнитов будет эта вещь.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/helmets/hellenic_thracians_basic. VariantMeshDefinition" /> - прописан греческий шлем фракийского типа без плюмажа.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/helmets/hellenic_thracians_crests. VariantMeshDefinition" /> - прописан греческий шлем фракийского типа с плюмажем.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/helmets/hellenic_attic.VariantMeshDefinition" /> - прописан греческий шлем аттического типа.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/helmets/hellenic_attic_crest.VariantMeshDefinition" /> - прописан греческий шлем аттического типа с плюмажем.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/helmets/hellenic_phyrgians_basic. VariantMeshDefinition" /> - прописан шлем фригийского типа без плюмажа.
</SLOT> - Закрытие блока "Шлемы"
<SLOT name="clothing" > - Слот "Одежда"
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/armour/linothorax.VariantMeshDefinition" /> - юнитам прописана в качестве одежды линторакс, но в файле линторакса прописывается помимо самой брони одежда надеваемая под и на него (туники, штаны, панцири и тд.)
</SLOT> - Закрытие слота "Одежда"
<SLOT name="cloaks" /> - Слот "Плащи", пустой.
<SLOT name="greaves" > - Слот "Поножи", слот используется для прописывания поножей, и сапог.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/greaves/greaves.VariantMeshDefinition" /> - прописаны поножи.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/greaves/graves_basic.VariantMeshDefinition" /> - прописаны поножи без украшений.
</SLOT> - Закрытие слота "Поножи"
<SLOT name="shield" attach_point="weapon_03" > - Слот "Щиты". Про attach_point="weapon_03" смотрите ниже.
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/shield/hellenic_hoplon_painted_hoplite. VariantMeshDefinition" /> - добавлен греческий гоплон с рисунком
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/shield/hellenic_hoplon_painted_hoplite. VariantMeshDefinition" /> - добавлен греческий гоплон с рисунком
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/shield/hellenic_hoplon_painted_hoplite. VariantMeshDefinition" /> - добавлен греческий гоплон с рисунком
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/shield/hellenic_hoplon_hoplite. VariantMeshDefinition" /> - добавлен греческий гоплон
</SLOT> - Закрытие слота "Щиты"
<SLOT name="weapon_1" attach_point="weapon_01" > - Слот для первого оружия
<VARIANT_MESH_REFERENCE definition="VariantMeshes/_VariantModels/man/weapons/short_spears.VariantMeshDefinition" /> - выбраны короткие копья
</SLOT> - Закрытие слота первого оружия.

<SLOT name="weapon_2" /> - Слот второго оружия, пустой.
<SLOT name="weapon_3" /> - Слот третьего оружия, пустой.
<SLOT name="weapon_4" /> - Слот четвертого оружия, пустой.
</VARIANT_MESH> - Закрытие блока юнита с греческим типом
</SLOT> - Закрытие слота "Кожа"
</VARIANT_MESH> - Закрытие основного блока

attach_point= - Оружие в модели привязывается (attach) к кости скелета.
В данной модели они аттачатся так:
"weapon_1": bone_1
"weapon_2": bone_2
"shield": bone_3
"weapon_3": bone_4
"weapon_4": bone_5

Поэтому модель юнита может владеть тремя типами оружия + щит + метательный предмет:

Weapon bone 1: копья, пики, рамфайи, фальксы, знамена, праща, дротик как копье – т.е сюда попадают колющее оружие и двуручное колюще-рубящее и почему-то праща.
Weapon bone 2 : булавы, кинжалы, мечи ¬– т.е оружие ближнего боя.
Weapon bone 3 : щиты
Weapon bone 4 : луки
Weapon bone 5 : стрелы, дротики, камни пращи – т.е оружие используемое в качестве метательного снаряда.

Из нашего примера мы видим, что наш гоплит вооружен только коротким копьем и щитом-асписом (гоплоном). А как же меч? – спросите вы. Ведь греческие гоплиты имели на вооружении еще и меч махайру или копис. Давайте пропишем его.

Вместо строки :
<SLOT name="weapon_2" />

Добавим:
<SLOT name="weapon_2" attach_point="weapon_02" >
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/weapons/kopis_01.rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/weapons/kopis_02.rigid_model_v2" />
<VARIANT_MESH model="VariantMeshes/_VariantModels/man/weapons/kopis_03.rigid_model_v2" />
</SLOT>

Здесь, если вы заметили, я добавил вместо ссылки на файл с моделью, ссылку на саму модель, поэтому строки немного изменилась, вместо <VARIANT_MESH_REFERENCE definition=, прописано <VARIANT_MESH model=. Правда гоплиты пока не смогут воспользоваться мечами, ибо нужно им изменить анимацию, но это в отдельном туториале.

Разбор моделей одежды и оружия будут во второй части.

Продолжение следует...

Читать 2-ю часть статьи
Copyright © «Империал». Копирование информации с этой страницы возможно только при указании прямых ссылок на эту страницу.




      Стиль:
        06 Дек 2016, 15:08
    © 2016 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики