Лучший способ показать анимацию OpenGL в iPhone
У меня возникают проблемы с возможностью импорта кости и скелетной анимации от Maya до Blender на iPhone. Вот что я сделал:
- установите плагин ColladaMaya, чтобы экспортировать DAE для Blender для экспорта
- использовал J eff LeMarche script, чтобы иметь возможность экспортировать один ключевой кадр модели и импортировать этот .h файл в iPhone игра
- Настройте GLView, используя больше шагов Джеффа ЛеМарче и получив в нашей игре, поэтому эта модель отображается рядом с реальной игрой (а не в 3D).
- Исследовано oolongngine, sio2 ( но еще не получили от них электронную почту), другие SO q для решений, в том числе мои из игры dev
- Просмотрено с помощью конвейера контента FBX SDK для динамического создания файлов классов для анимаций.
Я могу импортировать модель и отобразить ее. Многие из этих процессов реагируют на эту проблему и оставляют разработчика программным способом манипулировать игровым объектом.
Моя главная проблема - найти лучший, определенный процесс импорта анимации в iphone рядом с существующей игрой? Мне не нужна целая игра или целая сцена, только одна анимационная модель и некоторые шаги, чтобы следовать.
Эта анимация предназначена для воспроизведения в цикле. Есть еще три анимации, которые будут воспроизводиться в разных состояниях игры (хороший ход, плохой ход и т.д.). Поэтому я обеспокоен тем, что решение keyframe LeMarche (что в основном означает экспорт КАЖДОГО ключевого кадра в формате .h) будет невероятно трудоемким и интенсивным в работе с памятью. Я определенно готов это сделать, но после всех исследований, которые я сделал (дополнительные ссылки не включены), я потерял информацию о том, куда идти дальше, помимо ручного экспорта каждого ключевого кадра и импорта.
EDIT:
Я добавил щедрость к этому для всех, кто может дать мне четко определенный процесс импорта анимации из 3D-приложения в iPhone. НЕ ВСЕ все приложение (т.е. Unity, Sio2 и т.д.), А просто показывает 3D-оверлей в приложении (например, анимационную модель рядом с игрой bejeweled-esqe, не взаимодействующую с миром.)
Люди продолжают говорить: "Создайте свой собственный модельный загрузчик". Существуют ли сценарии, примеры, учебники, все, что проходит через этот процесс "загрузчика модели" из EXPORTING из 3D-приложения (желательно Maya или Blender) и ИМПОРТИРОВАНИЕ этой анимации и рендеринг ее в Objective-C?
Ответы
Ответ 1
Я действительно не специалист по openGL, но я знаю, что существует постоянная инициатива вокруг Cocos3D (поддержка OpenGL, интегрированная с Cocos2D framework), возможно, вы найдете здесь полезную информацию:
http://brenwill.com/2011/cocos3d-importing-converting-collada-to-pod/
Главная:
http://brenwill.com/cocos3d/
Ответ 2
Это действительно большая проблема с экспортом анимации. Недавно у меня была эта проблема, и я закончил с Assimp.
Однако у него также есть проблемы с анимацией скелета, экспортированной с Maya и Blender. Что касается меня, я предпочитаю 3Ds Max (не забывайте reset Xform перед такелажем), у него нет проблем с Collada и анимацией.
Хотя, если вы хотите использовать эти модели в своей игре, я предлагаю вам написать свой пользовательский экспортер для Maya или Blender. Также попробуйте анимацию сетки (морфинга). Если вы не используете обратную кинематику или что-то подобное, это то, что вам нужно.
Ответ 3
Я написал код, который читает файлы Blender и анализирует данные сетки, кости и анимации. Затем он применяет кости анимации к сетям преобразования мира и т.д. Это много работы, но, безусловно, выполнимо. Если у вас есть вопросы о Blunk peculiars, просто спросите меня.
Другой вариант - использовать библиотеку, такую как OgreKit, которая может читать смешанные файлы и делать скелетную анимацию для вас также из коробки.
Ответ 4
Посмотрите Molecules исходный код.
UPDATE:
Эта ссылка может показаться не связанной, но содержит исходный код для книги iPhone 3D Программирование и пример, приведенный в этой статье, содержит анимации и методы для анимации 3D-контента, который может быть вам полезен. Здесь включен источник AaLines.
Ответ 5
AnimKit - небольшая анимационная библиотека, которая может читать файл .blend и воспроизводить анимацию с помощью Glut. Он извлекает все данные для скелетной анимации и т.д., В том числе кости, каналы сетки и анимации и т.д. Из файла blender 2.5.blend.
AnimKit является открытым исходным кодом (с использованием разрешительной лицензии zlib), вы можете проверить его с помощью Subversion:
svn co http://code.google.com/p/gamekit/source/browse/#svn%2Fbranches%2FAnimKit AnimKit
AnimKit еще не запускается на iPhone, но я скоро его закрою, используя Oolong Engine.
Другим интересным ресурсом является Proton SDK (protonsdk.com), он имеет индивидуальный SDK Irrlicht, который работает на iPhone/Android и т.д. Образец RT3DApp может воспроизводить анимацию.