58 votes

Est-il possible d'importer un modèle 3D dans Android?

À tous les 4 développeurs Android là-bas :)

Est-il possible de créer un modèle 3D simple (par exemple dans 3DS MAX), puis de l'importer dans Android? Je travaille dans Eclipse avec le plugin Android, si cela est important.

Si oui, connaissez-vous des tutoriels / ressources expliquant comment le faire?

42voto

Maciek Gryka Points 1807

C'est là que je suis arrivé à:

  • J'ai utilisé Google APIDemos comme un point de départ - il y a rotation des cubes de là, chacun défini par deux tableaux: sommets et d'indices.
  • J'ai créer mon modèle à l'aide de Blender et de l'exportation en tant que fichier OFF - c'est un fichier texte qui répertorie tous les sommets et ensuite confronté en termes de ces sommets (indexé géométrie)
  • Ensuite, j'ai créé un simple C++ application et l'écrit sous la forme de deux XMLs contenant des tableaux (un pour les sommets et un pour les indices)
  • Ces fichiers XML sont ensuite copiés dans res/valeurs et de cette façon, je peux assigner les données qu'ils contiennent à des tableaux comme ceci:
    int vertices[] = context.getResources().getIntArray(R.array.vertices);
  • J'ai aussi besoin de modifier manuellement le nombre de faces d'ici: gl.glDrawElements(GL10.GL_TRIANGLES, 212*6, GL10.GL_UNSIGNED_SHORT, mIndexBuffer); - vous pouvez trouver que le nombre (212 dans ce cas) sur le fichier OFF

Ici vous pouvez trouver ma page du projet, qui utilise cette solution:

http://code.google.com/p/vsiogap3d/

7voto

workmad3 Points 12974

Il doit être possible. Vous pouvez avoir le fichier en tant que fichier de données avec votre programme (et comme tel, il sera poussé sur l'émulateur et emballé pour une installation sur un périphérique réel). Ensuite, vous pouvez écrire un modèle de chargeur et le spectateur en java en utilisant l'Android GLES et les bibliothèques pour afficher le modèle.

Des ressources spécifiques sont probablement limitée. 3ds est un proprietry format 3e partie chargeurs sont assez courts d'approvisionnement et la plupart du temps à l'ingénierie inverse. D'autres formats (comme blender ou milkshape) sont plus ouverts et vous devriez être capable de trouver des informations sur l'écriture d'un chargeur pour eux en java assez facilement.

7voto

mrYogi Points 485

Avez-vous essayé min3d pour Android? Il supporte les modèles 3ds max, obj et md2.

4voto

Guvante Points 10338

Vous n'êtes pas sûr de savoir précisément sur Android, mais vous avez généralement besoin d'un script dans 3DS Max qui écrit manuellement le formatage souhaité à partir du modèle.

Quant à savoir si on existe pour Android ou non, je ne sais pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X