Статья
Раздел:
Модели и текстуры

Вступление

Здравствуйте, меня зовут Владислав Московцев и сегодня я вам расскажу - как конвертировать модели из игры 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

Заключение

Теперь Вы научились конвертировать модели! Если у вас есть замечания или предложения, которое поможет улучшить качество статьи и дополнить новыми способами - напишите в комментариях. Спасибо вам за внимание и удачных конвертов!
`
LOADING AD...
25
Есть некий форк хоновского аддона под 2.8+, хз работает ли
36
poisoNDealer, проверим
36
poisoNDealer, там текстурная карта сломана. Можно не юзать

Написал твилке, дождусь ответа
36
Был исправлен плагин по моей просьбе, теперь текстурная карта уже не битая. Выкладывать скрипт обновленный конечно же не буду
To leave a comment please sign in to the site.