Использование частей юнита из другой фракции
Цель этого руководства: объяснить, как вы можете легко взять деталь от юнита из одной фракции и использовать ее для юнита из другой фракции.
Необходимые инструменты, используемые для этого: PFM и GIMP+dds-плагин.
Я расскажу здесь только о методе в создании собственных частей. Вы можете также обратиться к руководству l'Aigle о сохранении dds-файлов без утраты их качества.
Я полагаю, вы знаете, как создавать pack-файлы, и я не буду здесь объяснять эту часть.
Часть 1: Определяем, что нам необходимо: смотрим на варианты и текстуры
Давайте допустим, что мы хотим создать нового австрийского юнита, со стандартной униформой (скажем австрийская линейная пехота), но воспользуемся шлемом «Tartleton» (такой же, как у британской конной артиллерии).
Во-первых, мы воспользуемся PFM для открытия файла data.pack и посмотрим на таблицу «uniforms». Здесь мы увидим, что австрийский юнит использует как вариант униформу «Austria_Inf_Austrian_German_Fusiliers». И конечно, если мы посмотрим на британскую конную артиллерию, то мы увидим – запись «Britain_Art_Horse_British_6_lber».
Во-первых, мы найдем модификацию «Austria_Inf_Austrian_German_Fusiliers», например, «austria_inf_line_austrian_german_fusiliers.soldier.unit_variant».
Поэтому мы просто переименуем экспортированный файл unit_variant на «austria_MyNewUnit.soldier.unit_variant». А затем мы импортируем его в наш mod-файл. Это важно писать в начале названия префикс «austria_», так как именно это указывает, из какой atlas-текстуры ядро игры берет часть текстуры.
Этот файл содержит все текстуры для Австрии. Но мы видим, что он не содержит текстуру для британского шлема, который мы хотим позаимствовать.
Если вы попытаетесь запустить это сейчас, то это работать не будет. Потому что, в новом варианте юнита текстура все еще «VariantModels/UnitParts/Euro/Hats/Shako/Austrian_Basic_Shako/texture», и эта текстура не приспособлена к этому «mesh»: юнит будет выглядеть очень странным.
Поэтому, прежде чем мы направимся дальше, нам надо взять деталь из файла britian_diffuse.dds, соответствующую «Tartleton», и скопировать ее в наш файл «austria_diffuse», чтобы она стала доступна.
Первая здесь проблема: как узнать точно, какую часть использовать? Рассматривая вариант британской артиллерии, в строке для каски в столбце «texture» указано «VariantModels/UnitParts/Euro/Hats/Tartleton/tex/texture».
Это фактически ссылка на точные координаты и мы найдем ее в файле britain_diffuse.atlas. Итак, с помощью PFM давайте посмотрим это. Во-первых, в верхней части PFM проверьте флажок «Toggle coordinate as Pixel Units».
Найдите строчку для детали нашего юнита, а справа увидите соответствующие цифровые значения размера и систему координат. Ширина и высота – 384х384. И координаты «X1, Y1», показывающие значения «1152, 2944». Запишите эти значения.
Мы сейчас извлечем файл britain_diffuse.dds и откроем его в программе GIMP.
Нам необходимо скопировать именно ту деталь, которая нам необходима. С ней мы проведем испытание наглядно, но это далеко не просто, поэтому нам необходима предельная точность. Для этого мы воспользуемся лучшим способом.
Примените значок «Прямоугольное выделение» из «Панели инструментов» редактора, и выделите любую деталь изображения (где именно – не имеет значение).
Таким образом, взглянув на файл Austrian_diffuse.atlas, мы находим, что для «Casquet», координаты 1920 и 1024. Размер все еще – 384x384.
Part 3: Использование новой текстуры
Эта часть проста. Сейчас у нас имеется измененный файл «austria_diffuse», где текстура «Casquet» была заменена текстурой «Tartleton». Тем не менее, мы только заменили изображение. В файле austria_diffuse.atlas имя все еще «VariantModels/UnitParts/Euro/Hats/Casquet/Infantry/texture».
Поэтому сейчас, зайдем в «austria_MyNewUnit.soldier.unit_variant», редактируем часть соответствующую «Hats», и в текстуре используем «VariantModels/UnitParts/Euro/Hats/Casquet/Infantry/texture».
Part 4: Окончательное оформление нового юнита
Для завершения юнита:
- используйте этот же метод с «gloss», «normal» и «colour mask». Нам нужно в каждом «austria_XXXX.dds» скопировать поверх изображения «Casquet» изображение шлема «Tartleton»;
- в таблицу «uniforms», добавить униформу «austria_MyNewUnit» для нового юнита.
Удачи в работе!