Создание модели FBX в Motion Builder через XNA

Я хочу создать fbx-модель скелета, захваченного с помощью датчика Kinect внутри приложения XNA. В настоящее время я занимаюсь тем, что сохраняю координаты Kinect в качестве матрицы в базе данных, извлекая их, рисуя скелет кадр за кадром.

Можно ли создать модель fbx с помощью Motion Builder при запуске приложения внутри XNA Framework.

2 ответа

Решение

Я не думаю, что вы можете сделать модель fbx во время выполнения, вам лучше построить свою модель (с соединениями), используя программное обеспечение для создания моделей, такое как Maya или любое другое, а затем импортировать fbx в ваш проект xna и в функции обновления предоставить каждому соединению значения, которые вы получаете от Kinect.

Если вы просто хотите воспроизвести данные во время их захвата, вам не нужно проходить через FBX.

Если вы хотите сохранить его как файл FBX, вы можете получить FBX SDK от Autodesk, но он доступен только в неуправляемой форме C++. Вы бы использовали SDK для преобразования ваших данных времени выполнения в обычные кости и сохранения их на диске - но делать это через API C++ будет непросто, поскольку вам придется самостоятельно обрабатывать весь неуправляемый код.

Вы можете попытаться обойти это, получив привязки python для SDK и запустив их в IronPython (который, будучи языком dotnet, может быть встроен в ваш проект Xna). Однако это большая работа для того, что составляет импорт / экспорт формата файла. Кроме того, я не знаю точно, будут ли они привязки Python работать в IronPython.

Однако, если вы храните только скелетные данные, проще использовать простые форматы файлов, такие как OBJ. Там есть несколько импортеров OBJ (например, здесь). Формат достаточно прост, чтобы вы могли сделать это для себя тоже. Вы можете использовать конвертер Autodesk FBX для перехода в FBX и обратно, если у вас есть OBJ на диске. Однако имейте в виду, что это будет работать только для скелетов (и мешей, если они вам нужны) - OBJ не поддерживает анимацию.

Можно ли создать модель fbx с помощью Motion Builder при запуске приложения внутри XNA Framework.

Я не уверен на 100%, что я понял вопрос. Вы можете создавать FBX из motionbuilder для использования в XNA. Вы можете импортировать FBX из других источников (включая те, которые вы сделали с помощью FBX Sdk и вашего кода kinect) в motionbuilder. Когда вы говорите "при запуске приложения внутри xna", вы имеете в виду удаленное управление Motionbuilder или вы просто говорите о возможности сохранения данных, которые MB может прочитать?

Другие вопросы по тегам