2010-07-02 4 views
28

Там, кажется, довольно много OBJ-файлов, которые люди разработали для использования на платформе Android. Мне интересно, есть ли у кого-нибудь опыт работы с ними и может предложить рекомендацию, по которой, похоже, лучше всего подходит для них.Android OpenGL .OBJ загрузчик файлов

Вот мои критерии:

  • Легкий (малый размер файла),
  • Оптимизированные для скорости,
  • легко осуществить,
  • предложения какую-то поддержку отображения текстур (не уверен, если Мне это нужно - недостаточно для кодирования, чтобы узнать, нужна ли мне библиотека для этого, или если OpenGL ES сможет выполнить всю эту работу, которая мне нужна здесь) и
  • Может использоваться в Приложения для Android, которые старый коммерчески.

Вот несколько библиотек, которые я нашел.

Я также открыты для слушания о других, не включенных в этот список. Благодаря!

+0

Большое вам спасибо, ваш вопрос очень полезен, я познакомился с 3D-каркасами для Android. Я пойду с «Android-GL» – swiftBoy

ответ

21

Вы просили об этом некоторое время назад, но у меня есть хорошее решение, если вы все еще ищете.

Вместо загрузки файла obj вы можете легко преобразовать его в массивы для вершин, нормалей и координат текстуры. Есть инструмент, который преобразует obj-файлы в файлы заголовков c. Вы можете преобразовать вывод для работы с java впоследствии. Это не должно быть сложно.

http://www.heikobehrens.net/2009/08/27/obj2opengl/

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

+0

Я знаю, что это действительно старо, но я не могу найти способ конвертировать файл заголовка c для работы с java. Как ты это делаешь? Сообщение в блоге было написано с учетом iPhone. –

+1

Вам нужно будет преобразовать их самостоятельно. Должно быть достаточно прямолинейно, что делать. Просто скопируйте данные из массивов C в массивы Java. –

+0

@Matthew Mitchell: Я сгенерировал массивы C в массивах Java, как вы упомянули. Можете ли вы дать мне несколько кодов для загрузки этих java-массивов и отображения obj-файла в GLsurfaceview. – Manoj

10

Я знаю, что это старый вопрос, но я столкнулся с некоторыми проблемами, чтобы найти хороший загрузчик OBJ для Android.

Я попробовал почти все решения, предложенные

  • Min3D, которая довольно старая (последняя редакция от 2011 года)
  • Rajawali, который, как представляется, является ответвлением min3D
  • Libgdx который является игровым движком
  • JPCT-AE 3D движок для андроид

только один, который не был слишком сложным и работал был JPCT-AE, что можно найти здесь: http://www.jpct.net/jpct-ae/

Он позволяет разбор OBJ-файлов и загружает текстуры из связанного файла MTL без каких-либо проблем. Кроме того, документация действительно описательна по сравнению с другими, и есть форум с большим количеством вопросов.

Смежные вопросы