Рендеринг анимации Майя на Android? - PullRequest
3 голосов
/ 07 октября 2011

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

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

Кто-нибудь пытался сделать это раньше?Если так, как это будет работать?

Ответы [ 3 ]

2 голосов
/ 04 декабря 2011

Я думаю, стоит отметить, что этот вопрос не имеет никакого отношения к майя или не имеет к ней никакого отношения.Форматы файлов Maya проприетарные и непрозрачные;Вы НЕ найдете способа напрямую отобразить их на Android (или где-нибудь еще, зайдите к этому).Но вы можете экспортировать данные из Maya (в основном) в любой формат, что вы действительно хотите делать.

Итак, вот процесс:

  1. Выясните, как высобираемся отобразить 3D-модели и анимацию на Android
  2. Узнайте, как получить материал из Maya в формате, который требуется для вашего ответа на шаге 1.

Есть много способов сделать шаг1. Для простоты использования я бы, наверное, сам пошел на Unity .По сути, это инструмент для разработки игр, который может создавать 3D-приложения и игры, работающие на Android (и iOS, OSX, Windows и т. Д.). Это бесплатно - дополнение для Android стоит 400 долларов, но если вы действительно планируете сделать что-то серьезное с AndroidВы найдете это стоящим.С его помощью довольно просто создать небольшое приложение для Android в Unity, которое отображает анимированную модель (а в Unity создано МНОГО 3D-игр для Android и iOS).Unity также нужна модель и анимация в формате FBX, который широко поддерживается в формате обмена - у вас не возникнет проблем с переносом содержимого из Maya в FBX.

Если вы перешли с Unity на шаге 1, тоШаг 2 тривиален: экспортируйте свои модели из Maya в формате FBX, и все готово.Если вы решили создать собственное приложение для рендеринга Android, удачи.:)

В любом случае, дело в том, что вам нужно найти универсальное решение для рендеринга анимированных моделей на Android, и только потом выяснить, как вытащить ваш контент из Maya.

1 голос
/ 13 августа 2012

Вместо вывода каждого отдельного кадра в отдельный файл obj, как предлагает spicyweenie, почему бы не экспортировать только ключевые кадры в файлы obj.Реализуйте интерполяцию в своем коде, чтобы заполнить пропущенные кадры.Если ваши модели сложны, вы, вероятно, захотите кэшировать интерполированные модели в памяти, но, по крайней мере, вам не нужно загружать их все также из файлов.

0 голосов
/ 23 июля 2012

В отличие от ответа Коди Хэтча, меня это тоже интересует.Это моя теория относительно анимации модели:

Допустим, ваша модель имеет 30 кадров.Одним из способов было бы экспортировать каждый кадр как отдельную модель OBJ.Оттуда вы можете сделать папку для этих 30 OBJs.Итак, теперь у вас всего 31 файл.Если человек нажимает кнопку, хитрость заключается в том, чтобы загрузить каждый OBJ по порядку в зависимости от продолжительности действия кнопки (или любого другого действия).и если он длится более 1 секунды (30 кадров), вернитесь к началу.

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

...