如何在 Android 应用程序中创建 3D 对象?

sru*_*thi 5 android

请给我在android应用程序中创建3D对象的方法

And*_*rés 6

要绘制 3D 对象,您可能需要使用 OpenGL ES API。这里有加载您自己的 3D 对象可能需要执行的主要步骤:

  1. 扩展GLSurfaceView.Renderer类,以便从onDrawFrame进行所有 OpenGL API 调用来设置 GL 环境并绘制 3d 对象。

  2. 将模型数据(顶点、法线、面等)加载到ByteBuffer中,以便稍后在 OpenGL API 调用中使用它们。

  3. 如果您想在 3d 世界中旋转、移动或缩放对象,您可能需要计算变换矩阵 ( Matrix.rotateM )

  4. 计算视图矩阵,以便您可以从任何角度渲染 3d 对象 ( Matrix.setLookAtM )。

  5. 您可能还需要使用某种透视( Matrix.frustumM )渲染对象,使其看起来更真实。

  6. 一旦 MVP 矩阵(模型-视图-矩阵)准备就绪,您就可以初始化 OpenGL 选项,例如视口和背景颜色。

  7. 创建一个使用顶点和片段着色器编译的新 OpenGL 程序,该程序将在 GPU 上执行以处理和渲染对象(此步骤仅执行一次)。

  8. 配置先前创建的 OpenGL 程序 (glUseProgram) 并配置输入属性 (glEnableVertexAttribArray),以便您可以推送模型的数据,例如要绘制的顶点。

  9. 最后,通过绘制构成所有对象的所有三角形或元素(点、线)(glDrawElementsglDrawArrays)来绘制对象。

您可能还想查看这个 github 存储库android-3D-model-viewer,它将所有这些实现到一个开源演示中,该演示也在Play 商店中发布,可以渲染 3d 波前 *.obj 文件。


wil*_*ood 4

Android SDK 有一个 OpenGL API :)

使用 OpenGL 进行 3D