Как сделать иконку для глобальной карты в OpenBRF (часть #2)


Данный гайд является переводом, оригинал может быть найден на TaleWorlds
Первая часть: создание иконки пехотинца

Вторая часть: создание иконки всадника.
При создании иконки всадника используются те же методы, что и при создании иконки пехотинца. В самом деле, начало процесса точно такое же. Вам нужно следовать всем инструкциям первой части, пока вы не дойдете до создания вертексной анимации. Итак, мы можем начать с неанимированной my_map_icon, который мы создали в прошлой части.

Поскольку каждая иконка карты может иметь только один материал, нам нужно создать новую текстуру, которая может разместить текстуру лошади. У нас уже есть map_icon_new_tex.dds из предыдущей части:

 

В любом редакторе изображений:

1. Создайте новый пустое изображение, размер которого - 1024 x 1024 пикселей;
2. Измените размер map_icon_new_tex.dds с 1024 x 1024 до 512 x 512 пикселей;
3. Скопируйте и вставьте измененный map_icon_new_text в верхний левый квадрант нового пустого изображения;
4. Сохраните эту картинку как map_icon_mount_tex.dds в папке Textures Вашего мода.

 

Теперь в OpenBRF загрузите файл icon_test.brf, скопируйте map_icon_combined на вкладке материалы, вставьте его и переименуйте этот новый материал map_icon_mount. Это повторит (скопирует) все флаги, настройки и шейдеры иконки. Импортируйте новую текстуру map_icon_mount_tex.dds в свой файл icon_test.brf и установите ее как текстуру DiffuseA в новом материале.

Затем скопируйте меш my_map_icon, переименуйте его my_map_icon_mount.1 и измените его материал на map_icon_mount, придав нашей меши испорченное изображение с нетекстурированным белым цветом на всех тех частях UV, которые отображаются в пустые квадранты.

 

Поскольку это можно исправить только на уровне компонента, щелкните правой кнопкой мыши на my_map_icon_mount.1 и выберите 'Split into connected sub-meshes'. Это разбивает модель на 12 частей с номерами от 0 до 11. Теперь щелкните правой кнопкой мыши по доспеху my_map_icon_mount.1.11, выберите преобразование текстурных координат (Transform texture coords) и установите параметры: 'Scale% U' = 50.00 и 'Scale% V' = 50.00.
Выберите лицо и руки модели (компоненты с номерами от 8 до 11), выберите преобразование текстурных координат (Transform texture coords) и установите параметры: 'Scale% U' = 50.00, 'Scale% V' = 50.00, 'Translate U' = 0.5.
Выберите сапоги (компоненты с номерами 6 и 7), выберите преобразование текстурных координат (Transform texture coords) и установите параметры: 'Scale% U' = 50.00, 'Scale% V' = 50.00, 'Translate U' = 0.5, 'Translate V' = -0.5.
Выберите шлем и меч (компоненты с номерами от 1 до 5), выберите преобразование текстурных координат (Transform texture coords) и установите параметры: 'Scale% U' = 50.00, 'Scale% V' = 50.00, 'Translate U' = 0, 'Translate V' = -0.5.
Выберите щит (компонента с номером 0), выберите преобразование текстурных координат (Transform texture coords) и установите параметры: 'Scale% U' = 50.00, 'Scale% V' = 50.00, 'Translate U' = 0.5, 'Translate V' = -0.5.

Выделите компоненты с номерами от 0 до 11, щелкните правой кнопкой мыши и выберите 'Combine meshes'. Теперь у вас есть две версии my_map_icon_mount.1 - удалите ту, текстуры которой перепутанны, и удалите все ненужные компоненты (от 0 до 11), и сохраните файл icon_test.brf.

Теперь мы вернулись туда, откуда мы начали, но теперь материал с переработанной UV-картой имеет пространство для текстуры лошади. Уменьшите масштаб, и Вы также увидите, что уменьшенное разрешение вашей уменьшенной текстуры не заметно в масштабе значка карты, даже если исходные текстуры размером 1024 x 1024 пикселя теперь уменьшены до 256 x 256 пикселей.

Теперь, для лошади, откройте horse_b.brf из папки CommonRes Warband'а. Лошадь 'couser' выглядит поразительно, но 1524 полигона слишком много. Скопируйте courser.lod2 (346 полигонов) и вставьте его в icon_test.brf. Загрузите его текстуру, courser.dds, в редактор изображений. Поскольку это уже изображение размером 512 х 512 пикселей, скопируйте и вставьте его в верхний правый квадрант вашего map_icon_mount_tex.dds и сохраните, не забывая сгенерировать mip_maps. Нажмите 'Tools' -> 'Refresh all', чтобы новое комбинированное изображение появилось в вашем материале map_icon_mount, если вы правильно отредактировали текстуру.

 

Как Вы можете видеть, у нас есть два пустых квадранта - достаточно места для этого материала, чтобы покрыть две разные иконки, но эта оптимизация выходит за рамки этой задачи. Чтобы сменить материал лошади на общий материал, щелкните правой кнопкой мыши по меши courser.lod2 в OpenBRF и измените ее материал с courser на map_icon_mount. Затем исправьте испорченную UV-карту, изменив ее текстурные координаты (Transform texture coords) со следующими настройками: Scale% U = 50.00, Scale% V = 50.00%, Translate U = 0.5000, Translate V = 0.0000, и сохраните ваш файл icon_test.brf.

Откройте ani_horse_mounted.brf из папки CommonRes Warband'a. Внутри есть только одна анимация, anim_horse, которая имеет 866 кадров. Щелкните правой кнопкой мыши anim_horse и выберите 'Add to reference icons'. Затем откройте horse_skeleton.brf, щелкните правой кнопкой мыши skel_horse и выберите 'Add to reference skeletons'. Теперь вернитесь к icon_test.brf, выделите courser.lod2, выберите anim_horse в кнопке анимации OpenBRF с помощью скелета, установленного как skel_horse, и нажмите кнопку '>', чтобы посмотреть эту анимацию. Затем, с тем же выбором анимации и скелета, щелкните правой кнопкой мыши courser.lod2 и выберите 'Convert into a vertex animation'. Теперь у вас должна быть новая меш с именем courser.lod2_anim_horse из 555 кадров - я не знаю, почему все кадры не переданы, но это не имеет значения для наших целей.

Затем сохраните icon_test.brf, потому что OpenBRF может иногда возражать против открытия вертексной анимаци из 555 кадров. Затем щелкните правой кнопкой мыши на courser.lod2_anim_hourse и выберите 'Separate all frames'. Если OpenBRF упал, закройте некоторые другие приложения, перезагрузите OpenBRF и повторите попытку.

Теперь вы увидите отдельные кадры, перечисленные в обратном порядке от 554 (вверху) до 0 (внизу). Удалите кадры с номерами 82 по 553. Затем перейдите в нижнюю часть списка и выделите frame0, затем просто используя стрелку вверх, запустите список и посмотрите, как анимация разворачивается, когда кадр заменяет кадр. Это дает лучшее представление о том, какие кадры вы хотите выбрать для вершинной анимации. Выбор зависит от того, хотите ли вы, чтобы иконка карты просто ходила (0-30), скакала рысью (31-49), ехала легким галопом (50-66), или скакала галопом (67-81).

Сохраните icon_test.brf и откройте файл map_icon_meshes.brf в папке CommonRes Warband'a. Скопируйте модель knight_a и вставьте эту иконку в файл icon_test.brf. Как и иконка пехотинца, она имеет только 11 кадров. Т-образного положения нет, но в кадрах 0 и 1 показана лошадь в покое (стационарная). Мы знаем, что кадр 0 не используется на глобальной карте, но кадр 1 используется, когда время приостанавливается, поэтому мы сохранили кадр 554. Это оставляет нам 9 кадров движения.

Чтобы иконка скакала рысью, сделайте следующий вертикальный список в OpenBRF (сверху вниз в этом порядке), используя alt и стрелку:

courser.lod2_anim_horse_frame554
courser.lod2_anim_horse_frame554
courser.lod2_anim_horse_frame31
courser.lod2_anim_horse_frame33
courser.lod2_anim_horse_frame35
courser.lod2_anim_horse_frame38
courser.lod2_anim_horse_frame40
courser.lod2_anim_horse_frame43
courser.lod2_anim_horse_frame45
courser.lod2_anim_horse_frame47
courser.lod2_anim_horse_frame49

OpenBRF не заботится о цифрах, ему важен только порядок моделей. Соберите все кадры в одну модель: щелкните правой кнопкой мыши и выберите 'Merge as frames in a vertex ani'. Теперь мы имеем вертексную анимацию из 11 кадров, которая называется courser.lod2_anim_horse_frame554, которую нужно переименовать my_map_icon_mount.2. Остальная часть мешей / кадров ложади может быть удалена (если вы не захотите повторно использовать их для разных скоростных монтировок), а затем сохраните свой icon_test.brf.

Скопируйте knight_a и из меню редактирования вставьте тайминги на my_map_icon_mount.2, чтобы синхронизировать лошадь с движклм Warband. Вы можете проверить свою анимацию, нажав кнопку '>'.

 

Теперь нужно разобраться с всадником. Сначала нужна анимация. Откройте ani_human_mounted.brf в папке CommonRes Warband, выделите его только анимацию, anim_human_02, щелкните правой кнопкой мыши и выберите 'Add to reference animations'. Затем вернитесь к icon_test.brf, выделите всадника, my_map_icon_mount.1, установите анимацию в anim_human_02 и скелета на skel_human, и нажмите кнопку '>'.
Всадник поднят до положения седла, его ноги оседлали невидимую лошадь, которая подпрыгивает от него вверх и вниз. Таким образом, с выбранными anim_human_02 и skel_human, щелкните правой кнопкой мыши на my_map_icon_mount.1 и выберите 'Convert into vertex animation', и сохраните icon_test.brf. Это дает новую модель с именем my_map_icon_mount.1_anim_human_02 с 248 кадрами.

 

Поскольку нам нужны только 11 кадров, щелкните правой кнопкой мыши на my_map_icon_mount.1_anim_human_02 и выберите 'Separate all frames'. Однако каждый кадр должен быть сопоставлен с нашим монтированием. Соответственно, отделите все кадры my_map_icon_mount.2. Затем выделите my_map_icon_mount.2_frame0 и нажав клавишу управления, также выделите my_map_icon_mount.1_anim_human_02_frame0, чтобы увидеть, как эти кадры дополняют друг друга. Вы увидите, что всадник плохо сидит в седле.

 

Вы можете попробовать сопоставить другие кадры, но вы обнаружите, что все они немного несовместимы. Поэтому, чтобы исправить это, сначала выделите my_map_icon_mount.2_frame0 и нажав клавишу управления, выделите my_map_icon_mount.1_anim_human_02_frame0 (второй), щелкните правой кнопкой мыши, выберите Roto_translate_rescale..., установите флажок 'Apply to last selected object only' и переместите ось z на 0.07, чтобы переместить вашего всадника в его седло.
Чтобы синхронизировать все кадры всадника, выделите кадры с 1 по 247, нажмите на иконку, выберите Roto_translate_rescale ..., сняв галочку 'Apply to last selected object only' и переместите ось z на 0.07.

Сделайте следующий вертикальный список в OpenBRF (используя alt и стрелку):

my_map_icon_mount.1_anim_human_02_frame0
my_map_icon_mount.1_anim_human_02_frame0
my_map_icon_mount.1_anim_human_02_frame13
my_map_icon_mount.1_anim_human_02_frame15
my_map_icon_mount.1_anim_human_02_frame17
my_map_icon_mount.1_anim_human_02_frame19
my_map_icon_mount.1_anim_human_02_frame21
my_map_icon_mount.1_anim_human_02_frame23
my_map_icon_mount.1_anim_human_02_frame25
my_map_icon_mount.1_anim_human_02_frame27
my_map_icon_mount.1_anim_human_02_frame29

Вы могли бы потратить больше времени на выбор лучших совпадений, но эти тоже хороши. Выделите все эти кадры, щелкните правой кнопкой мыши и выберите 'Merge as frames in a vertex ani'. Теперь мы имеем вертексную анимацию из 11 кадров, называемую my_map_icon_mount.1_anim_human_02_frame0. Скопируйте и вставьте тайминги Warband'а с knight_a на my_map_icon_mount.1_anim_human_02_frame0 и сохраните icon_test.brf.

Затем выделите как my_map_icon_mount.1_anim_human_02_frame0, так и my_map_icon_mount.2, щелкните правой кнопкой мыши и объедините модели, получив модель с именем my_map_icon_mount, которую Вы можете переименовать в my_final_map_icon_mount, чтобы избежать путаницы с WIP-моделями, и сохраните icon_test.brf.

 

Далеко от совершенства, но достаточно хорошо для иконки карты...



- используйте эту кнопку если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости или если хотите сообщить администрации о выходе новой версии мода и т.п.

Комментариев 12

Полуголова
NordOst
Офлайн 19 июня 2018 17:00 поделиться
syabr, если рассуждать в таком плане, то это сразу можно брать курс, как взяли наши братья китайцы. Платная версия. Функционала не хватает в игре и плюшек. По этому и приелось. Иногда кажется что в игре можно сделать на много больше. Другой вопрос, как. Как командно воодушевится и довести дело до логического завершения, что б на пол пути не было детище брошено.


Мододел
vadmin007
Офлайн 20 июня 2018 19:23 поделиться
https://ibb.co/dKERxy - вот вам иконка за 20 минут


Измени себя - измени мир.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 123
Гостей: 119

Пользователи: 

Последние комментарии

MOD Nova Aetas (A New Era)
Шлёпа, 17 апреля 2024 12:39
К несчастью, когда я хотел освободить пленного лорда, я встретил одну неприятную ошибку: При...
Гайд по моду Age of Arthur
Спящий, 8 апреля 2024 16:08
Аксилон, Там просто нужно  претендента на Алт Клуит( как писали выше зовут Гуипно) найти и спросить...
MOD Solid and Shade (все версии)
Bruhman, 5 апреля 2024 00:38
Знаю что это несколько запоздалый комментарий,(учитывая что последнее сообщение в теме было...
MOD Perisno
k0r1, 4 апреля 2024 21:16
Столкнулся с проблемой, что не могу положить/взять деньги из казны при своём королевстве. Клавиши...
MOD WORLD OF VASNAR
Николай Бондаренко, 1 апреля 2024 19:03
NordOst, НЕ поделитесь ссылкой ?...
MOD A World of Ice and Fire
Elenar, 31 марта 2024 12:18
И Тур все молчит по поводу обновления перевода ...
MOD Sands of Faith
sergosafarelly, 31 марта 2024 11:48
ReinmarBelyau, In the name of Jeruslaem...
[SUBMOD] - 1257AD Reloaded (1257AD - Enhanced Edition)
sergosafarelly, 31 марта 2024 11:48
Подскажите, как нанимать войска из замка фракции, в которой я являюсь лордом?...
Prophesy of Pendor 3.9
Askellad, 30 марта 2024 18:47
ReinmarBelyau, Спасибо за ответ)...