Добавлен ScorpioT1000,
опубликован
Долой унылые mdlvis-анимации! Скорпи обещал что-то вкусное, так вот встречайте xlDataConverter и это только начало =)
Это программа для преобразования Collada (DAE) моделей в Warcraft 3 MDL.
Это программа для преобразования Collada (DAE) моделей в Warcraft 3 MDL.
— Wikipedia.COLLADA — это формат, разработанный для обмена между 3D приложениями. Управляется некоммерческой организацией Khronos Group.
COLLADA использует открытый стандарт XML для обмена форматами, которые в противном случае были бы несовместимы.
COLLADA был задуман как промежуточный формат для переноса файлов. Реализована поддержка таких программ, как Maya (используя ColladaMaya); 3ds Max (при помощи ColladaMax); Poser (v.7.0); Lightwave 3D (version 9.5); Cinema 4D (MAXON); Softimage|XSI; Houdini; MeshLab; CityScape, CityEngine, SketchUp, Blender, modo и Strata 3D. Adobe Photoshop с версии CS3. Игровые движки, такие как Unreal engine, Unity и Torque 3D, также поддерживают этот формат.
Что эта детка умеет
- Конвертировать геометрию, с мешами, с правильными нормалями, с текстурными координатами;
- Конвертировать пути к текстурам и забивать их в материалы/слои;
- Конвертировать кости. Нет костей? Наплевать, она создаст для каждого объекта кость в центре и перенесет простую анимацию;
- Понимать skin-controllers (контроллеры мяса);
- Понимать "веса" костей и переводить их как требуется;
- Создавать анимации, правильно считать кадры и fps;
- Создавать все виды трансформаций warcraft 3;
Что она пока не умеет
- Читать более 1 группы полигонов в объекте, это задача номер 1 для след. версии;
- Любые массивы (вершин, нормалей, костей и т.п.) ограничены в 32768 элементов (хотя варкрафт ломается уже на 25к вершинах). Если в вашей модели больше - ждите неожиданностей. Планируется исправить до 2 миллиардов;
- Простые цвета вместо текстур пока не работают, планируется в следующих версиях;
- Нет источников частиц, возможно, будет в след. версиях;
- Модель иногда криво расположена относительно основных осей, это исправляется заданием в кости Root нужных трансформаций;
- Читает только 3DS MAX формат вершин;
- Читает только матричные преобразования;
- Могут быть проблемы с файлами, у которых в пути есть русские символы, да гори в аду ты проклятый iostream;
- Использует пока только 1 канал у каждой анимации;
- Пока только линейная анимация;
- Обратная конвертация, планируется в будущем;
- Создает много лишних аним, потом разберемся;
- Есть некоторые проблемы с анимацией масштабирования;
- Конвертирование Blender DAE анимаций не поддерживается по причине иной структуры матриц трансформаций;
Вот она, вот она программа моей мечты, во-о-от она!
На самом деле не ждите, что эта программа сделает вам чудо, ведь это ещё только alpha версия, всякое случается :D
Как пользоваться?
- Создать геометрию, кости, анимации, текстуры на сцене 3DS MAX;
- Выбрать Export - .DAE, далее в окошке настроек экспорта обязательно указать ориентацию Z-up;
- Перетащить готовую .DAE модель на значок программы, должно появиться окно предупреждений. Если не было ни одного предупреждения, окно закроется и модель можно смотреть в war3me и mdlvis, конвертировать в mdx желательно через mdlvis;
- Если есть какие-то предупреждения, читайте, исправляйте в максе, отправляйте сюда итп;
- Хотите опции? Они есть. Это аргументы командной строки, включаются они так:
xlDataConverter.exe "model.dae" "model.mdx" опция1 значение1 опция2 значение2
Тоесть перетаскивать модель уже недостаточно, надо задать пути вручную.
Какие бывают опции (пока на инглише):
options: name: possible values, first values are default
(dae to mdl)
"timeMultiplier": "1000.0", (real from 1)
Mdl-relative animation time multiplier (1000 points/second in Warcraft 3 by default);
"bonesJointsOnly": "no", "yes"
"no" if you don't want to convert simple nodes of objects;
"weightSplitBound": "0.25", (real from 0 to 1)
All the bones with the weight less than this value are ignored;
"invertTexcoordU": "no", "yes"
"yes" if you want to invert text coords horizontal;
"invertTexcoordV": "yes", "no"
"yes" if you want to invert text coords vertical (it inverts in warcraft3 by default);
"convertNodes": "yes", "no"
Process nodes information;
"convertMaterials": "yes", "no"
Process materials and textures information;
"supplementMaterials": "yes", "no"
Adds a dummy texture to empty layers and materials without layers;
"lightOptimize": "yes", "no"
Lightweight optimization, removes duplicate vertices
but merges different normals of one vertex into single normalized vector.
It's recommended to keep it turned on;
"weedOutSequences": "yes", "no"
Removes duplicate and intermediate sequences from list;
Схема работы алгоритма "weedOutSequences":
Еще можно приписать через пробел mode auto, тогда она не будет ждать любой клавиши, если есть варнинги.
Если вписать mode manual, она будет в любом случае ждать любой клавиши в конце.
Если вписать mode manual, она будет в любом случае ждать любой клавиши в конце.
Скачать
Прикрепляю
- Само приложение xlDataConverter
- конвертер кватернионов от Toadcop, пригодится для настройки поворота у костей
- как бонус модель "Дана танцует сальсу"
Исходный Код / Source (Visual C++)
С вами был ScorpioT1000, пейте коктейль Пина колада
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Хех, провтыкал что Алексей уже написал об этом)
не говоря уже об анимации...
не, возможно, если всё делать изначально в максе то там другой результат будет...
но конвертированный из блендера .фбх он не экспортит...
хотя подозреваю, что просто надо кое-что подправить...
Отредактирован ScorpioT1000
С другой стороны, коллада умеет очень многие вещи, т.е. хранить целиком сцены или проекты в одном файле. Там неплохой уровень абстракции, есть понятие "библиотека", которая содержит в себе "коллекции". Это касается не только геометрии и анимации, но так же материалов. Кроме того, все параметры тоже могут быть анимированы.
Мне лично не интересно ковыряться в варкрафте.
Ладно бы там только с анимацией были косяки, там ведь ещё текстуры неверно натягиваются на нормали (по устаревшей схеме), из-за чего постоянные косяки с освещением.
а вот с анимацией до сих по беда...
в mdx конвертит, правильно её называет, времени анимации указывает... но анимка пустая...
Кстати, нет ли способа конвертить в редактируемый меш без отвязки от костей (я делал через collapse)...
добавив в modifier list "mesh select" смог экспортнуть модельку с анимками и привязанными костями...
все равно есть проблемка высотой анимации...
щас попытаюсь объяснить поподробней...
когда просто импортируешь модель в макс там 3 объекта...
сузанная (сам меш), Armature (в форме куба) и одна кость...
если сразу же проиграть анимацию, она нормально воспроизводиться, в точности также, как я её делал в блендере...
но если удалить armature то анимация останется, но будет уже немного другой... повороты (rotation) будут также воспроизводиться.. но перемещения (translation) будут как-будто бы обрублены... то есть сдвигаться совсем чуть-чуть...
в данном случае сюзанна будет подниматься вверх совсем немного...
пока что удалось экспортировать только такую "неполную анимацию..."
Андреич:
Андреич:
Хотя нет, это происходило тогда, когда я поворачивал меш с закрепленным костями на 180 градусов.
Отредактирован Алексей Андреич
опять же не без проблем...
побаловался скининном в animation tools неодекса... при чём есть такой прикол...
что при экспорте в mdx мдлвис всё отлично открывает, но магос закрываетя с ошибкой...
при эспорте в mdl, магос модель открывает, когда пытаешься проиграть анимации меш исчезает...
поэтому приходиться экспортировать в mdl, затем через магос в mdx и тогда всё работает...
неодекс ты упорот..!
upd: с нормальной моделькой не работает...
на выходе ужасный скиннинг, соответственно корявая анимация...
и почему-то только пол модели... (изначально делалась с помощью mirrora но при экспорте в .фбх его уже не было, но обе половинки модели всё равно юзают одинаковую развёртку...)
в общем вот такая жопонька...
кажется, что проще свою игру написать, чем заставить неодекс нормально конвертить анимки в блендера..(