Форум HeroesWorld-а - Показать сообщение отдельно - Руководство по добавлению в игру HoMMV новой модели, анимации и существа
Показать сообщение отдельно
#292
Старый 17.03.2021, 07:02
  #292
^
vova2112
 
Аватар для vova2112
📖
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 115
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 115
По умолчанию
Re: Руководство по добавлению в игру HoMMV новой модели, анимации и существа

Всем привет!
После того как обнаружилась небольшая НО очень интересная утилита-программа «GrannyConverter by ricky92» способная адекватно конвертировать файлы анимации формата «.GR2» для последующего их добавления в игру, я немного порылся в интырнате и попрактиковался с этой утилитой, и выяснил, что человек под ником ricky92 написал очень не простую программу, т.к. программа может конвертировать не только файлы версии 2.6 но и более поздние, при определённых манипуляциях и настройках при экспорте из 3Д редактора, об этом и пойдёт речь ниже.

Ох держитесь ребята, сейчас Вова вам всё объяснит
Для добавления в иргу модели и анимации можно не прибегать к использованию программы Maya, а использовать один лишь 3DsMax(версия не имеет значения - главное что-бы для него были в наличии необходимые для определённых задач плагины, я использовал 3DsMax2018) и Редактор карт который распространяется с игрой.
Опишу коротко как я это делаю и какие настройки экспорта использую.
1. После добавления модели в программу 3DsMax и различных манипуляций(в место главной кости я создаю хелпер Point в виде Box(так нагляднее) с произвольным размером и переименовываю его в Global, прилинковываю к нему всё - и скелет, и меш.), экспортирую в GR2 скелет, затем модель.
Выбираю файл настроек для импорта скелета -> -> устанавливаю флажок на Move to Origin -> Перехожу в настройки Models -> Global и убираю галочки с Include reference in export со всего кроме костей скелета
В настройках File устанавливаю две галочки
Нажимаю Export.
С экспортом геометрии модели использую такие-же настройки как при экспорте скелета, а в разделе Meshes проверяю что-бы находился только сам меш и ничего более, и настройки не меняю(потому-что не знаю, что можно отключить) -> .
2. После экспорта геометрии модели и скелета я подгружаю анимацию. Анимация есть двух типов: а) - простая, которая не содержит в себе атрибутов (например Idle и Move). б) - анимации которые должны содержать атрибуты указывающие и запускающие внутриигровые эффекты (такие как Attack и Hit).
Есть несколько атрибутов которые можно добавить в анимацию 1) - B_cut и action. Где "B_cut" содержится в начале анимации атаки и предвещает второй атрибут "action" который в свою очередь воспроизведёт эффект удара по противнику(возможно использовать несколько ключей "action" в одной анимации). 2) - E_cut содержится в анимациях получения урона (возможно использовать несколько ключей "E_cut" в одной анимации)
До конца не понятна вся механика атрибутов, так например Ревнитель веры в анимации "Hit" имеет 3 ключа "E_cut".
Для того чтобы добавить атрибут в анимацию, необходимо в Global добавить ключи -> открываем Curve Editor ->  -> переходим в режим Dope Sheet  -> выбрав Global в списке добавляем к нему Note Track  -> по времени создаём ключи -> вписываем в них свойства атрибута (Для примера показана возможная расстановка атрибутов в анимации атаки на 3 удара).
3. Для экспорта анимации выбираю файл настроек для анимации -> -> устанавливаю флажок на Move to Origin .
Так-же как и ранее перехожу в настройки Models -> Global и убираю галочки с Include reference in export со всего кроме костей скелета и Global .
В настройках File устанавливаю две галочки .
В настройках Animation вот такие значения
Перехожу глубже в настройки Animation -> там нахожу непонятное 01 - Default, его тоже отключаю -> перехожу глубже в Global и там отключаю всё кроме костей и самого Global в котором содержится информация атрибутов анимации, если в анимации не используются атрибуты его тоже можно отключить. .
Нажимаю Export.
Бывают случаи, когда в анимации ноги у модели как-бы скользят из стороны в сторону по земле (особенно видно в аним. покоя-Idle), или другие подобные отклонения которые небыли в начальной анимации, это можно вылечить если поиграться с настройками (например убрать галочку "Reduce curves where possible", и-или понизив значение ".... curve tolerance" под ползунками(по моему сильное влияние имеет "Orientation curve tolerance") в корневой Animation).
Я же изменил значение "curve tolerance" на минимум, выборочно у нужных костей, на последнем вложении настроек Animation.
Маленькое отступление:
Нашел я ещё одну небольшую утилитку  (последняя версия 13) которая якобы моржет производить оптимизацию GR2 файлов, собтна я ей и пользуюсь, вреда от неё не замечено, а конечный размер файла немного уменьшается(будем надеется, что она помогает) поэтому покажу и её фунцианал, но можно и без неё.
Теперь копируем файлы в одну папку, в неё-же ложим GR2Tool_by_Distraught_granny211_v13.exe и GrannyConverter_ricky92.exe.
Перетаскиваем по одному нашему экспортированному файлу на GR2Tool_by_Distraught_granny211_v13.exe(Опциональн о) -> вводим 1 3 4 жмем Enter -> появится копия файла с припиской "_new.gr2", открываем полученный файл HEX редактором и меняем первые 16 бит в заголовке файла "29DE6CC0BAA4532B25F5B7A5F666E2EE" на "B867B0CAF86DB10F84728C7E5E19001E" и сохраняем результат.
Теперь полученный файл можно перетащить(сконвертировать) в GrannyConverter_ricky92.exe, после этого файл готов к употреблению.

4. Дальше работа производится в Редакторе карт.Работаем как по учебнику(имею ввиду пункт 2.3 из руководства первой страницы этого топика), открываем редактор и создаём карту, в окне "Model" создаём "New Object" вписываем туда путь до файла пустышки. который нужно распаковать в папку "\Homm5\Complete" и указываем Global в RootTransform жмём "OK".После этого должна создастся папка с названием тестовой карты "\Homm5\Editor\H5MMods\test_map" в ней создадим папку "bin", а в ней подпапки "Skeletons" и "GrannyGeometries".В папку "Skeletons" положим экспортированный нами скелет GR2 и дадим ему имя сгенерированное редактором(uid) из окна редактора "Skeleton".Так-же положим экпортированную нами модель GR2 в папку "GrannyGeometries" и присвоим файлу имя сгенерированное редактором(uid) из окна редактора "Geometry".Теперь возвращаемся в окно "Models". Выбираем нашу .xdb заготовку модели. Жмем по ней правой кнопкой мыши и выбираем "Export".(должна появиться надпись в логе редактора - "Optimized geometry dumped ......") По средством таких манипуляций должна появится папка "\Homm5\Editor\H5MMods\test_map\bin\Geometries" с файлом, и мы полностью отказались от использования Maya 6.0.Теперь в папке"\Homm5\Editor\H5MMods\test_map\bin\Geometries" лежит файл с геометрией модели, а в папке "\Homm5\Editor\H5MMods\test_map\bin\Skeletons" файл со скелетом, а файлы анимации отлично работают после обработки в HEX редакторе, а затем сконвертированные из GrannyConverter_ricky92.exe.
плагин GR2 для 3DsMax2018
__________________
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
vova2112 вне форума
Ответить с цитированием