本文介绍了有没有办法将 3D 模型导入 Android?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以创建一个简单的 3D 模型(例如在 3DS MAX 中)然后将其导入到 Android 中?
Is it possible to create a simple 3D model (for example in 3DS MAX) and then import it to Android?
推荐答案
这就是我要去的地方:
- 我使用 Google 的 APIDemos 作为起点 - 那里有旋转立方体,每个立方体由两个数组指定:顶点和索引.
- 我已经使用 Blender 构建了我的模型并将其导出为 OFF 文件 - 它是一个文本文件,列出了所有顶点,然后根据这些顶点(索引几何)进行面
- 然后我创建了一个简单的 C++ 应用程序,该应用程序将其关闭并将其编写为两个包含数组的 XML(一个用于顶点,一个用于索引)
- 然后将这些 XML 文件复制到 res/values,这样我就可以将它们包含的数据分配给这样的数组:
int vertices[] = context.getResources().getIntArray(R.array.vertices);
- 我还需要在这里手动更改要绘制的面数:
gl.glDrawElements(GL10.GL_TRIANGLES, 212*6, GL10.GL_UNSIGNED_SHORT, mIndexBuffer);
- 你可以找到OFF 文件顶部的数字(在本例中为 212)
- 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
在这里你可以找到我的项目页面,它使用了这个解决方案:Github project > vsiogap3d
Here you can find my project page, which uses this solution: Github project > vsiogap3d
这篇关于有没有办法将 3D 模型导入 Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!