Лучший способ показать анимацию OpenGL в iPhone - PullRequest
13 голосов
/ 14 апреля 2011

У меня проблемы с возможностью импортировать кость и скелетную анимацию из Maya в Blender на iPhone.Вот что я сделал:

  1. установите плагин ColladaMaya для экспорта DAE для Blender для экспорта
  2. использованного J eff сценария ЛеМарша чтобы иметь возможность экспортировать один ключевой кадр модели и импортировать этот файл .h в игру для iPhone
  3. Настройте GLView, используя больше шагов Джеффа ЛеМарша, и отобразите его в нашей Игре, поэтому эта модель отображается рядом сактуальная игра (не в 3D).
  4. Исследован oolongngine , sio2 (применен, но еще не получил от них электронное письмо), другие SO q для решений,включая мой из dev для игры
  5. Рассмотрено использование конвейера контента FBX SDK для динамического создания файлов классов для анимации.

Я могу импортировать модель и отобразить ее.Многие из этих процессов отвечают на эту проблему и оставляют разработчику возможность манипулировать игровым объектом программно.Моя главная проблема - найти лучший, определенный процесс импорта анимации в iphone рядом с существующей игрой?Мне не нужна целая игра или целая сцена, только одна анимационная модель и несколько шагов, которым нужно следовать.

Эта анимация предназначена для воспроизведения в цикле.Есть еще 3 анимации, которые будут воспроизводиться в разных игровых состояниях (хороший ход, плохой ход и т. Д.).Таким образом, я обеспокоен тем, что решение ключевого кадра LeMarche (которое в основном означает экспорт КАЖДОГО ключевого кадра в виде файла .h) будет невероятно трудоемким и занимающим много памяти.Я определенно хочу это сделать, но после всех исследований, которые я провел (дополнительные ссылки не включены), я заблудился относительно того, куда идти дальше, кроме ручного экспорта каждого ключевого кадра и его импорта.

РЕДАКТИРОВАТЬ:

Я добавил к этому вознаграждение для тех, кто может дать мне четко определенный процесс импорта анимации из 3D-приложения в iPhone.НЕ само приложение (т. Е. Unity, Sio2 и т. Д.), А просто отображение трехмерного наложения в приложении (например, анимационная модель рядом с игрой bejeweled-esqe, не взаимодействующая с миром.)

Люди продолжают говорить: «Создай свой собственный модельный загрузчик».Существуют ли сценарии, примеры, учебные пособия, что-нибудь, что проходит через этот процесс «загрузки модели» из ЭКСПОРТА из 3D-приложения (предпочтительно Maya или Blender) и ИМПОРТА этой анимации и ее рендеринга в Objective-C?

Ответы [ 5 ]

3 голосов
/ 17 апреля 2011

Это действительно большая проблема с экспортом анимации.У меня недавно была эта проблема, и в результате я получил Assimp .

Однако у него также есть проблемы со скелетной анимацией, экспортированной из Maya и Blender.Что касается меня, я предпочитаю 3Ds Max (не забудьте сбросить Xform перед настройкой), у него нет проблем с Collada и анимацией.

Хотя, если вы хотите использовать эти модели в своей игре, я предлагаю вам написатьВаш пользовательский экспортер для Maya или Blender.Также попробуйте сетку (морф) анимацию.Если вы не используете обратную кинематику или что-то подобное, это то, что вам нужно.

2 голосов
/ 22 апреля 2011

Я действительно не эксперт по openGL, но я знаю, что есть постоянная инициатива вокруг Cocos3D (поддержка OpenGL, интегрированной с платформой Cocos2D), может быть, вы найдете здесь некоторую полезную информацию: http://brenwill.com/2011/cocos3d-importing-converting-collada-to-pod/

homepage: http://brenwill.com/cocos3d/

1 голос
/ 12 июля 2011

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), в котором есть настроенный Irrlicht SDK, который работает на iPhone / Android и т. Д. Пример RT3DApp может воспроизводить анимацию.

1 голос
/ 21 апреля 2011

Посмотрите на Молекулы исходный код.

UPDATE: Эта ссылка может показаться не связанной , но она содержит исходный код книги Программирование на iPhone 3D , а пример, приведенный в этой статье, содержит анимацию и методы для анимации 3D-контента, которые могут быть вам полезны , Источник для AaLines включен сюда.

1 голос
/ 19 апреля 2011

Я написал код, который читает файлы Blender и анализирует данные меша, кости и анимации.Затем он применяет анимацию костей к трансформациям мира мешей и т. Д. Это много работы, но, безусловно, выполнимо.Если у вас есть какие-либо вопросы о peculiars Blender, просто спросите меня.

Другой вариант - использовать библиотеку, такую ​​как OgreKit, которая может читать смешанные файлы и делать из вас скелетную анимацию.

...