Добавлен 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
Отредактирован Doc
А так и щас очень круто, хз будет ли кто пользоваться, но это действительно круто.
Fakov, да. Надеюсь =)) очень надеюсь
Для варика это имхо немного слишком круто, а для ск2 близард выпустили свой тулсет.
Хотя есть шансы вдохнуть новую жизнь таким образом в сам варкрафт.
а вот в sc2 может пригодится если будет удобно переносить модельки со всеми материалами, анимками и т.д. Хотя стар во много раз сложнее, так что ждем офф. тулзу от близзов.
Много людей набежит на ней теперь.
Вообще очень круто, думаю могу позже пару сундучков сделать тестовых. Как раз установочник Макса висит :)
В остальном не знаю где её можно было бы применить в вар3. А вот делать адаптацию для sc2, очень даже. В sc2 пока нет ничего подобного для удобной перегонки моделей в формат m3
То лучше было бы на майе делать...
Отредактирован TheDragon
Hellcore:
Кто-нибудь уже пробовал что-то сделать? =)