1

如果我们绘制 2D 或 3D 对象,我正在寻找能够在顶点和索引方面为 OPENGL ES 生成结果的工具。是否有任何工具可用于创建 3D 对象并生成顶点来为 android 创建 3D 对象。

我想将这些对象映射到 android 增强现实中。我们如何将这些 OpenGL ES 对象映射到 AR。

谢谢....

4

1 回答 1

0

不是要劝阻你,而是没有你想的那么简单。当然不难,只是你需要做的几件事。

有许多工具可以让您创建图形对象。示例包括BlenderMaya

这些不是唯一的工具,但问题是这些工具中表示的对象并不完全可以在您的项目中使用,因为这些工具可能(而且确实)使用 OpelGLES 以外的其他方法来表示对象。

您要做的是将使用某些 3D 工具创建的对象导出为您可以解析的文件格式。然后您可以使用解析的信息以您的程序可以使用的某种格式(不是文件格式)获取数据。

例如,考虑波前 obj文件格式。一个典型的 obj 文件如下所示:

# ('#' is for comments, just ignore it)
# PURELY USELESS .obj file
v 0.123 0.234 0.345  # 'v' represents vertex
v 0.122 1.034 3.042
vt 0.500 1           # 'vt' represents texture/uv
vt 0.042 0.889
vn 0.707 0.000 0.707 # 'vn' stands for normal
vn 0.367 0.367 0.000
f 6/4/1 3/5/3 7/6/5  # 'f' stands for face
# there are other things too, like material ('usemtl') etc

考虑到您想在项目中使用表示为上述文件的对象,您将不得不解析文件以获取信息,例如数组。顶点、法线、纹理/uv 和面各有一个数组(可能有更多,您可能需要更少)。

所以,有几个步骤:

  1. 使用一些工具创建一个对象,你会更喜欢 Blender,因为它是 FOSS。
  2. 将其导出为您可以解析的某种格式,例如 Obj 或 Collada。
  3. 将导出的文件解析为您希望使用的方式(很可能就像您正在关注的一些 Android OpenGL 示例中一样)
  4. 将此数据放入缓冲区并进行渲染。

如果我是你,我会按照他们在示例中的方式开始。从立方体或其他一些简单的形状开始。IIRC 立方体是搅拌机中的默认形状,因此导出就像遵循一些基本的搅拌机教程一样简单。然后你可以从那里成长。

此外,创建对象并向它们应用图像(纹理)并不是您在编写循环时可以掌握的技能,而且速度也不快,因此您可能希望从一些设计师/3D 艺术家那里获得帮助或免费在线东西之类的

于 2013-03-14T10:38:18.557 回答