WIP - Warcraft 3 To Unity Converter

Добавлен , опубликован
Здравия желаю.
В данном ресурсе я хотел бы делиться с вами прогрессом по написанию одной наработки, которая очень кстати придет к нашему сообществу.
Данная наработка позволяет конвертировать модели из Warcraft 3 и полноценно использовать их в движке Unity. Огромное спасибо за данную идею хотел бы отдать юзеру alexprey, который поделился ссылками на исходники формата mdx и своими соображениями по этому поводу.
Итак, в базе нашего сайта хранится огромное количество моделей этого формата.
Грех было бы их не использовать. Работу над наработкой я начал довольно-таки давно, однако недавно один из наших пользователей NilasAran_39 начал выкладывать модельки на тему Age Of Empires, чем вызвал во мне бурю негодования (мы ж тоже хотим, что нам вымирающий варкрафт!). Но вместо того чтобы высказывать претензии автору моделей, (мол, клепай тут нам fbx!) я решил пойти другим путем и закончить начатую когда-то работу.
Ну и вот что мы имеем сейчас
Собственно мы можем конвертировать модельки.
Особо сложного в этом нет ничего, почти все было взято с чужой наработки. Местами подменил код на нативный код юнити там, где похожие штуки уже были написаны, местами обрезал код.
Применил матрицу (стандартная ориентация W3 - XZY вместо привычной нам XYZ). И вуаля.
Изначально перенос данных планировалось сделать тупо "перетащи в папку проекта и используй". Однако в новой юньке что-то поменялось и приходится использовать отдельное окошко (надеюсь временно), в которое мы перетаскиваем наши модельки.
Но, есть огромные но

НО

  • Но пока что я не смог преобразовать текстурки в blp.
  • Пока что - не разбирался с анимациями.
  • И пока что не прикрутил использование варкрафтовского mpq.
Я испробовал целых 3 конвертера в blp, однако все эти не подошли - были заточены под формат World Of Warcraft. Но поиски продолжаются.

Планируемые фичи

Тут я думаю вполне понятно, что хотелось бы добавить. В идеале набор таков:
  • Поиск и использование нативных архивов варкрафта
  • Конвертирование текстур в формат PNG/DDS в один клик
  • Конвертирование моделей в формат, понятный юнити в один клик (с набором анимаций и зависимостями от текстур)
  • Возможно, встраивание наработки как "превьювера моделей" на наш сайт.

Чейнджлог

Начало работы над blp
Небольшой прогресс - гемор, но blp грузит
По мере разработки буду дописывать новости в комментарии и кидать ссылки на них сюда.
От сообщества счел бы необычайно полезным поделиться исходниками рабочих конвертеров, если такие завалялись в кармане.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
4
9 лет назад
Отредактирован Devion
0
Самый лучший конвертер для blp - BlpLab. Способен сконвертировать как один файл, так и всю папку.
Загруженные файлы
0
34
9 лет назад
0
Extravert, спроси у hanabishi, он вроде в свое время писал какой то популярный конвертер в blp (может и blplab) не помню уже.
2
27
9 лет назад
Отредактирован Devion
2
очень забавно себя ведет вся эта штука.
Если сохранять это на диск, то все работает отменно. Или в битмап - нормально. Но если использовать Texture2D - то вот так, косяками. Опытным путем выяснил, что формат хранения данных в этом случае сохранения становится DXT1, что очень странно, потому что подгружая как DXT1 вручную выходит просто шум (однако - не вылетает с еррором, то есть по факту байты то подходят туда).
В общем пошел через заднее место и сделал по вот такой логике:
  • считать байты
  • сохранить на диск
  • считать текстуру
  • пересохранить в пнг (в том формате каналы не переворачиваются :()
  • перевернуть каналы
  • сохранить
Я понятия не имею, что такого нужно сделать, чтобы он сразу считал нормально.
Впринципе это работает, хоть и жопно получилось. Минус только в том, что я немного теряю в качестве концепции - это тупо для редактора, реал-тайм подхватить не получится, ибо требует сохранения в базу ассетов.
Пофикшено!
Решили-таки проблему как создавать текстурку в памяти.
Всё оказалось очень тривиально, самое странное что я убежден что я так уже пробовал делать, может правда пробовал что-то очень близкое к этому, но не это.
За решение проблемы спасибо пользователю MF, с меня бутылка виски
Загруженные файлы
0
21
9 лет назад
0
Хм, а по поводу этого с Blizzard не возникнет конфликта, мол вы их ресурсы в создании своей игры используете?
0
29
9 лет назад
0
Локен, читай внимательнее
Итак, в базе нашего сайта хранится огромное количество моделей этого формата.
Эта штука лишь конвертер, остальное за конечными юзерами
0
23
9 лет назад
0
Extravert, про виски я шутил =)
Рад был помочь, самому было интересно.
0
29
9 лет назад
0
Extravert, теперь разбор анимашек :3
или не?
Тут немного нарыл в помощь
0
27
9 лет назад
Отредактирован Devion
0
alexprey, пока отошел, делать редактор логики свой тот. Ну на самом деле с ГУИшкой дерева там маюсь, оно и тут тоже пригодится для MPQ читалки.
я видел этот CrystalMPQ, с него BLP и слизал
Вообще анимашки я пока отложу
  • Сначала на повестке приклеить MPQ-читалку
  • Потом файл настроек, в которых хранить штуки аля путь к варкрафту, папку сохранения и так далее + ГУИ окошко чтобы все это было просто заполнять.
  • Потом извлечение текстурок из папки с моделькой (и если там не все достать их из MPQ) присобачить
  • Сделать фильтрацию по текстуркам, чтобы 20 раз не создавать одинаковые
  • Сделать создание материалов и геймобъектов, чтобы префаб можно было готовый на сцену перетаскивать
  • Затем анимашки
0
29
9 лет назад
0
Extravert, согласен, я бы с радостью помог, но я не особо шарю как там все это работает
0
23
9 лет назад
0
alexprey, я тож не шарил. Все что нужно:
  1. Читаешь спецификацию.
  2. Фигачишь реализации.
0
27
9 лет назад
0
alexprey, потом поможешь на превьювере для сайта :)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.