是否可以创建一个简单的3D模型(例如在3DS MAX中),然后将其导入Android?
这就是我要去的地方:
我用谷歌的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)
在这里,您可以找到我的项目页面,它使用此解决方案:Github项目> vsiogap3d
您可以将其导出为ASE格式.从ASE,您可以手动或以编程方式将其转换为您的代码.在Android中,您将需要Vertex用于顶点数组和面向索引.不要忘记你必须设置
gl.glFrontFace(GL10.GL_CCW);
因为3ds max默认为逆时针.
它应该是可能的.您可以将文件作为数据文件与程序一起使用(因此它将被推送到模拟器并打包以安装到实际设备上).然后,您可以使用Android和GLES库在Java中编写模型加载器和查看器来显示模型.
但具体资源可能有限.3ds是一种专有格式,因此第三方装载机供不应求,而且大多是逆向工程.其他格式(例如blender或milkshape)更加开放,你应该能够很容易地找到在java中为它们编写加载程序的细节.
你有没有尝试过min3d for android?它支持3ds max,obj和md2模型.