Раздел:
Моделлинг

Вступление

Здравствуйте, меня зовут Владислав Московцев и сегодня я вам расскажу - как конвертировать модели из игры Heroes of Newerth под WarCraft III
В первую очередь, освоим конвертирование не анимированных моделей, но и также попробуем поработать над моделями с анимациями. Сразу хочу предупредить, что чудес не бывает. Скиннинг в моделях делался ну совсем не под mdx, и полноценный перенос без допиливания руками практически невозможен. Чем сложнее скелет, тем хуже он перенесётся в варкрафт.

Что нам нужно?

  • Файлы игры Heroes of Newerth. Но за Bас уже сделал пользователь под ником ShegoDX выражаю благодарность! Файлы игры
  • Два Blendera. Blender 3.4 версии и Blender 2.79b
  • Скрипт для импорта моделей из игры. Я приложил архив со скриптом, Вы можете скачать его по ссылке
  • Скрипт mdl exporter. Это скрипт для экспорта моделей формате mdl (WarCraft 3) под Blender 2.79b - ссылка
  • Скрипт tw1lac / mdl-exporter. Это скрипт для импорта/экспорта моделей формате mdl (WarCraft 3) под Blender 3.4 - ссылка
  • RMS Twilac Edition. Пригодится для тех, у кого нет Reforged. Ну и оптимизация там мощная - ссылка
  • Mdlvis 1.40. Работа с моделькой - ссылка
  • War3 Model Editor 1.05. Работа с моделькой - ссылка
  • BLP Laboratory. Работа с текстурой - ссылка
  • HoN Model Viewer v1.0. Просмотрощик моделей Heroes of Newerth - ссылка

Установка плагинов под Blender

Открываем наш Bldender 2.79b - открываем вкладку File - переходим вкладку User Preferences - нажимаем Install Add-on from File - выбираем архив с mdl exporter.
Ищем во вкладки Community - mdl Exporter и активируем скрипт. После этого нажимаем Save User Settings
Устанавливаем по этому пути также, но только плагин BlackRyuScript. Ищите по пути Testing

Во Bldender 3.4 - открываем вкладку File - переходим вкладку User Preferences - нажимаем Install Add-on from File - выбираем архив с tw1lac / mdl-exporter. Переходим во вкладку Community и активируем скрипт. После этого нажимаем Save User Settings

Работа с моделями

Скачиваем архив с моделями, распаковываем обычным архиватором архивы. После этого переходим Blender 2.79b
Открываем вкладку File - потом вкладку Import - выбираем в списке K2 Mesh (.model)
В сбоку выбираем путь куда мы распаковали архив с моделями
Выбираем качество модели: High, Low, Med
High - Высокое по полигонам (использовать текстуру 512х512)
Med - Средняя по полигонам (использовать текстуру 256х256)
Low - Низкая по полигонам (использовать текстуру 128х128)
Я выбрал модель Skrap в разрешение High
Модель очень большая, поэтому давайте её уменьшим. Нажмите клавишу А что бы выделить меш и скелет, после этого нажмите клавишу S и уменьшайте с помощью мышки.
Примерно вот так уменьшить
Давайте текстуру загрузим. Для этого выберите меш модели - нажмите Edit Mode
Нажмите на вкладку - UV/Image Editor
Выберите нашу текстуру 512x512 разрешении. В папке 00000000 - Heroes - Skrap, название текстуры Color.dds
После этого нажмите нажмите вкладку - 3D View
В сбоку, правом верхнем углу есть плюсик. Открываем его, вниз катим и выбираем Textured Solid. Выходим из Edit Mode в Object Mode
Готово! Теперь модель с текстурой. Выделяем кости модели.
Нажимаем вкладку File - вкладку Import - выбираем в списке K2 clip (.clip)
Выбираем анимации из папки Clips. После этого импортируем анимации.
Давайте настроим текстуру на экспорт mdl. Выбираем меш модели и ищем там материал (иконка круглая).
После этого смотрим на скрин и делаем как у меня.
Выбираем вкладку File - Вкладку Save As - skrap.blend сохраняем.

Работа Blender 3.4

Открываем Blender 3.4 - Выбираем вкладку File - Вкладку Open и выбираем наш проект** skrap.blend
**
Нажимаем кнопку - Don't Save
Выберите меш модели - нажмите вкладку Object Mode и перейдите Edit Mode - нажмите вкладку Mesh - нажмите вкладку Clen Up - выберите Merge By Distance
Мы очистили лишние вершины. Это очень важно, что бы у модели небыло острых углов + это оптимизирует модель
Смотрим скриншот.

Работа с текстурой - BLP Laboratory

Открываем программу BLP Laboratory - перетаскиваем туда текстуру модели Skrap под названием Color.dds
  • Имя файла: Color
  • Сжатый формат: 90%
  • Cохраняем
Текстуру отправить туда, куда вы сконвертировали модель

Работа с моделькой - War3 Model Editor 1.05

Открываем нашу модель в программе War3 Model Editor 1.05.
Мы видим, что тут не хватает чего-то.
Откройте вкладку Windows - потом вкладку Material Manager.
Выбираем наш материал - ставим галочку Flags - TwoSided

Давайте отредактируем название анимации
Открываем вкладку Windows - выбираем вкладку Secuence Manager
Редактируем. Я уже сделал.

Давайте создадим портрет модели.
Выберите Windows - Camera Manager и выберите анимацию где хотите создать анимацию (я выбрал Stand).

Давайте создадим Collision Shape
Открываем вкладку Windows - Node Manager
Кликаем правой кнопкой мыши и выбираем - Create Collision Shape
Когда мы создали, то кликаем правой кнопкой мыши по нему и выбираем вкладку - Edit
Во вкладке Misc - выбираем Bounds Radius и подбираем значение которое будет охватывать ноги.
Vertex 1 - Z координат поднимаем нашу сферу на уровне ног
Сохраняем. Открываем правой кнопкой мыши и выбираем вкладку Node - пишет туда то значение, которое мы в предыдущем писали пункте
Создаем также вторую сферу и двигаем её на уровень охвата головы
Сохраняем модель и закрываем.

Работа с моделькой - Mdlivis 1.40

Давайте создадим точки крепления и добавим однократность к анимациям.
Выберите вкладку Модули - потом вкладку Редактор анимаций
Для Attack, Spell и Death ставим галочку - однократность
Теперь давайте создадим точки крепления
Во вкладке Редактор анимации - нажмите вкладку - Скелет и выбираем - Крепление
Я создал две точки крепление - это Origin Ref и Overhead Ref. Сохраняем нашу модель.
Более подробно читаем статью от WebSter - ссылка

Оптимизация моделей с помощью Blender, RMS Twilac Edition и Mdlvis

Давайте откроем нашу модель через программу RMS Twilac Edition. Сделайте перед этим копию модели
Откройте модель - перейдите во вкладку Edit - выберите все вершины модели
Нажмите вкладку Edit (самая сверху) - нажмите во вкладке Edit - потом вкладку Optimize - кнопка Simplify Keyframes
Выберите то, что вам нужно и нажимаем Simplify.
Вам нужно поиграться со значением, так как будет маленький, но неприятный баг.
Наш герой испытывает судорогу либо немного пританцовывает на анимации Stand.
Как видите:
  • оригинальный вес: 3,192 МБ
  • после оптимизации: 468 КБ

Ошибки и баги

Здесь мы рассмотрим ошибки, которые я столкнулся при извлечение модели формат 800mdx, либо с ошибкой при открытии модели в редакторах моделей.

Кривой скелет в формате 800mdx

После конвертации модели Skrap формат 800mdx - мы можем наблюдать неприятную картину:
Модель немного сломалась, что неприятно.
Решение с помощью конвертации mdx1000
Для того, что бы избавиться от данной ошибки - а именно получить более менее лучший скелет, то вам понадобится в программе Blender 3.4 поставить галочку на выходе экспорта, где конвертирует формат моделей Reforged (поставить галочку в Use SkinWeights)
Да, мы не сможем запустить на классике, но Reforged мы можем спокойно использовать.
Решение с помощью конвертации формат FBX

Заключение

Теперь Вы научились конвертировать модели! Если у вас есть замечания или предложения, которое поможет улучшить качество статьи и дополнить новыми способами - напишите в комментариях. Спасибо вам за внимание и удачных конвертов!
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.