Добавлен 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, пейте коктейль Пина колада
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
https://xgm.guru/files/100/85454/comments/152866/cube.dae
Отредактирован ScorpioT1000
Workaround: попробуй прикрепить к кости
Или попробуй дописать в режиме команд: "lightOptimize no"
не понятно вообще, смысл такое в вар запихивать
Ну хз, парень засунул, норм (конвертируя obj-3ds-mdx). Т.е. проблема только в этом?
Насчет ограничения - начали писать в 2009 году, тогда еще все делали лоуполи модели, как Кет сейчас (не в обиду) и это считалось нормальным, а дальше уже разросся по всей программе этот короткий тип данных ) пофиксить можно за час-два.