Is there a way to import a 3D model into Android?

Maciej Gryka picture Maciej Gryka · Oct 15, 2008 · Viewed 64.1k times · Source

Is it possible to create a simple 3D model (for example in 3DS MAX) and then import it to Android?

Answer

Maciej Gryka picture Maciej Gryka · Apr 12, 2009

That's where I got to:

  • I've used Google's APIDemos as a starting point - there are rotating cubes in there, each specified by two arrays: vertices and indices.
  • I've build my model using Blender and exported it as OFF file - it's a text file that lists all the vertices and then faces in terms of these vertices (indexed geometry)
  • Then I've created a simple C++ app that takes that OFF and writes it as two XMLs containing arrays (one for vertices and one for indices)
  • These XML files are then copied to res/values and this way I can assign the data they contain to arrays like this:
    int vertices[] = context.getResources().getIntArray(R.array.vertices);
  • I also need to manually change the number of faces to be drawn in here: gl.glDrawElements(GL10.GL_TRIANGLES, 212*6, GL10.GL_UNSIGNED_SHORT, mIndexBuffer); - you can find that number (212 in this case) on top of the OFF file

Here you can find my project page, which uses this solution: Github project > vsiogap3d