Конвертация моделей из серии игр Worms

Добавлен , опубликован
Раздел:
Моделлинг

Вступление

Здравствуйте, меня зовут Владислав Московцев и сегодня я вам расскажу о том: Как сконвертировать модели из серии компьютерных игр червячки
На сайте имеется статья про конвертации модели из игры Worms - ссылка. Но данная статья является устаревшей, поэтому её пора обновить и добавить список игр, а также другие важные аспекты.

Нужный софт

Нам нужны программы, которые помогут нам в этом деле:
  1. Blender 2.80
  2. XomView 3.1
  3. Плагины под 2.8 Blender: Blender-3D-XOM-plugin и mdl-exporter
  4. Mdlivis 1.40 Fix
  5. War3 Model Editor 1.07
  6. Blp Laboratory 0.5.0
  7. MdxPatcher
  8. Игра: Worms 3D, Worms Ultimate Mayhem, Worms Forts: Under Siege, etc
Это заявлено разработчиком плагином в описании, но возможно он поддерживает и больше игр из серии. Главное, чтобы модель была формате .xom3d, а анимации формате .xac.
Мы в статье рассмотрим именно игру: Worms Forts - Under Siege

Описание

Как только мы скачали все программы, то нам нужно настроить каждую программу, чтобы она корректно работала.
Теперь установим два плагина. Один плагин, который сможет импортировать модель. А второй плагин, который сможет конвертировать модели формат WarCraft 3 - mdl
Установить плагины под блендер: Архивы, которые вы скачали, переместите удобное место (не нужно распаковывать). Открываем Blender -> File -> User Preferences -> Install Add-on from File... и выбираем наш первый плагин (допустим: mdl exporter), после этого у вас должно появиться название в списке Add-on: MDL EXPORTER. Второй плагин: Import Xom 3D Model / Animation.
После этого нажимаем: Save User Settings

Приступаем к работе

Открываем программу XomView 3.1, выбираем нашу игру с которой мы работать будем (в нашем случае WF), дальше уже нажимаем кнопку Open Xom и идём в папку с игрой, а именно папка Data. Там выбираем файлы которые формате .xom и открываем, что хотим сконвертировать.
Я выбрал Bundles -> Bundle01.xom и выбрал предмет Parachute.
Теперь нажимаем на квадрат и у вас отобразилась модель. Сверху есть иконка "метеорит" и с помощью него можно включить проигрывания анимации. Итак, чтобы нам распаковывать модель, то мы должны открывать сбоку где модели и пока мы не доберёмся до иконки :квадрат и три квадрата", нажимаем на этот файл и у нас сверху горят кнопки - ExportXom3D и ImportXom3D. Нажимаем ExportXom3D, выбираем место извлечения и всё - готово. Модель и текстура распаковалась. Теперь извлечем анимации (если они есть). Да, в модели парашюта они есть. Выбираем сбоку квадрат модели парашюта и внизу выбираем анимацию, нажимаем кнопку Export Anim.

Давайте открывать Blender и начнем импортировать модель. Верху жмём File -> Import -> Xom3DModel и выбираем нашу модель в расширении .xom3d
Итак, модель у нас загрузилась! Давайте теперь уменьшим масштаб модели. Нажмите клавишу А, чтобы выделить весь меш модели (модель должна вся гореть) и нажмём на клавишу S.
Модель у нас чёрная, нужно настроить текстуру.
Выбрать весь меш модели на клавишу А. Внизу переключиться из режима Object Mode в Edit Mode (модель должна быть покрыта полосками). После этого нажать снизу на иконку серого квадрата 3D View и там выбрать в списке - UV Image Editor,
Нажать Open и выбрать текстуру, после этого переключить режим 3D View (снизу серый квадрат где нажимали),
Сбоку, сверху, нажмите на плюс и найдите Textured Solid, выбираете и обратно выбираем Object Mode
Теперь нужно импортировать анимации! Ищите кость, нажмите на неё (оранжевый цвет) и теперь File -> Import -> Xom3DModel. Выбираете файл в расширении .xac
Теперь отодвигаем окошко, чтобы создать два окна (снизу три штриха нужно потянуть).
В первом окне 3D View (снизу серый квадрат) выберите Graph Editor и потом переключитесь на Action Editor
Итак, теперь нам нужно выбрать анимацию и теперь нам нужно создать метки. В начале кадра и конец кадра создаём метки с помощью клавиши М, после этого выбираем в начале метку с помощью ПКМ и нажимаем сочетанием клавиши Ctrl+M - повторить этот пункт со второй меткой. Название первой и второй сетки должны быть одного название! В нашем случае Open подписано.
Также хочу напомнить, что если у вас много костей и некоторые анимации не имеют кубиков, либо вообще в костей только начальные кадры из одного кубика, то нажмите клавишу В, выберите начальные кадры и нажмите одновременно сочетание Shift+D и потяните в конец.
Это в том случае, если у вас имеются в анимации пропущенные кадры. Если все кости заполнены от начала и до конца кадрами, то данный пункт не нужно делать.
Теперь нам нужно открыть второй файл анимации (название Closed). Курсор мыши должен находиться возле квадратов, нажимаем клавишу А, выделяем всё это и потом в сбоку выделяем все кости с помощью клавиши А. Зажимаем сочетание клавиши Ctrl+C и копируем всю анимацию.
Переключаемся обратно на нашу первую анимацию, отходим от 4-5 шагов от первой анимации и вставляем нашу вторую скопированную анимацию с помощью сочетание клавиш Ctrl+V. В итоге возвращаемся вверх на пару строчек и повторяем шаг с метками, но название не должно иметь как в первой анимации, а подпишите как Closed или Open 1.
Теперь нам нужно указать путь к текстурам. Выходим во второе окно, выбираем меш модели (отдельный кусок или весь) у нас одна текстура, значит выбираем всю модель с помощью клавиши А. Теперь в сбоку, когда вы выбрали весь меш модели, найдете там иконку Material и достаем вниз и ищем MDL Material Settings.
Там выбираем: Priority Plane 1
Жмём: +
Texture Patch: название текстуры и расширение. Копируем название текстуры и в поле вставляем с помощью Ctrl+V а в конце ставим точку и расширение. В нашем случае .tga
Filter Mode: Transparent
Теперь выберите скелет, перейдите в режим Edit Mode и нажмите клавишу А, чтобы выделить все кости. И не забывайте, что во вкладке Action Editor держите также выделенные все кости и все кадры. После этого всегда сохраняйте модель через режим Edit Mode, так как он создаёт начальный кадр и ваш скелет не сломается (об этом в описании писал автор плагина экспорта mdl про начальный кадр). Запомните об этом.
Это касается про начальный кадр только для тех, кто имеет анимацию. Если анимации нет, то можно сохранять через object mode.
Теперь File -> Export - Warcraft mdl
Сбоку мы можем выбрать оси и масштаб модели перед сохраняем.
Теперь наша модель готова! Откройте её и посмотрите.
Через Mdlivis вам нужно в анимации поставить галочки для спеллов, чтобы они бесконечно не играли. Выделите модель, чтобы она стала красной, нажмите на Modules -> Sequence Editor и в Current sequence в каждой анимации поставьте галочку NonLooping.
Готово! Проверьте также через War3 Model Editor, чтобы небыло левых текстур по типу: Textures/White.blp - если есть, то конечно удалить!
Также не забудьте, что в текстуре нужно стереть символ #, так как у вас не сохранится тогда World Editor, а именно не запустится проверка карты. Имейте ввиду.

Оптимизация через Blender

Покуда мы не сохраняли ещё модель, то давайте её оптимизируем! А именно: срежем немного полигонов.
Если наша модель имеет анимации, то выделите весь меш модели с помощью клавиши А, после этого сбоку найдите иконку Треугольник (Data) и создайте в разделе Vertex Group новый объект через иконку +.
После этого нажмите на иконку Гаечный ключик (модификация) и нажмите Add Modifier -> Decimate
Дальше мы уже должны ознакомиться с тремя пунктами, которые выполняют свою функцию. Об этом - что такое Decimate и какие функции за что отвечают, читайте в этой статье по ссылке (там можно и прочитать про Vertex Group).
Я по дефолту использую Planar, увеличиваю цифру Angles Limit и Delimit: UVs. После этого наблюдаю за Faces который уменьшается. После этого смотрим на модель после результата и если вас все устраивает, то нажимаем Apply.
Вы можете уменьшать одновременно весь меш модели, либо отдельные части. Вам нужно их разрезать (если вы этого не делали ещё), либо из готово варианта выбирать те куски, которые собираетесь уменьшать полигоны.

Оптимизация через Mdlivis

Откройте модель в программе Mdlivis, выберите все вершины (нажмите ПКМ по единице и выберете пункт Switch All).
После этого нажмите кнопку сверху Optimization -> Optimizer и выберете все галочки.
Сохраните модель через File -> Save as... И напишите новое имя. Готово!

Проверяем модель

Результат отличный! Модель отображается и работает в редакторе карт World Editor. Проверяем в игре. Если там всё работает, то значит вы всё правильно сделали.

Статья на этом закончилась. Но, я ещё дополню её и покажу и распишу про то, как юниту червячку привязать к анимации оружие или как поднять модель, если она не стоит, а лежит лицом в землю или просто валяется. А также из нескольких частей собрать модель в одно целое.

Благодарность

Выражаю благодарность людям, которые работали и трудились.
Blizzard Entertainment - за игру WarCraft 3;
Psycrow101 - за плагин Blender-3D-XOM-plugin;
khalv - за плагин mdl-exporter;
Тон Розендаль - за программу Blender3D
Team17 - за игру Worms Forts: Under Siege
AlexBond - за программу XomView
Magos - за программу War3 Model Editor
Алексей2005 - за программу Mdlivis
Spec - за программу BLP Laboratory
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
37
1 год назад
2
А почему статья скрытая? Статьи - это же хорошо, а Рути - молодец.
Больше открытых статей богу статей)
0
35
1 год назад
0
Эльрат, статья пишется, поэтому она и скрыта
0
37
1 год назад
0
Экскалибур, ааа, тогда сори)
0
19
1 год назад
0
За это лайк
Чтобы оставить комментарий, пожалуйста, войдите на сайт.