为Vuforia(Java)创建网格

为Vuforia(Java)创建网格,java,opengl-es,vuforia,Java,Opengl Es,Vuforia,就在今天,我开始学习Vuforia。我正在查看图像目标代码,看到它从com.qualcomm.vuforia.samples.SampleApplication.utils.Teapot提取来显示茶壶 而Teapot.java有: public Teapot() { setVerts(); // has verticies setTexCoords(); // coordinates setNorms(); // normals setIndice

就在今天,我开始学习Vuforia。我正在查看图像目标代码,看到它从
com.qualcomm.vuforia.samples.SampleApplication.utils.Teapot
提取来显示茶壶

而Teapot.java有:

public Teapot()
{
    setVerts();     // has verticies
    setTexCoords(); // coordinates
    setNorms();     // normals
    setIndices();   // and indices
}

private void setVerts()
{
    double[] TEAPOT_VERTS = { 11.222200, 0.110300, 20.030291, 10.302300,
            -4.461498, 20.030291, 10.152300, -4.397198, 20.644890,
            11.059500, 0.110900, 20.644890, 11.059500, ...
}
我没有OpenGL的任何经验,我想知道如何创建自己的模型/网格来替换茶壶。我在Blender中创建了一个简单的框,但我没有一个好方法将其导出到包含顶点、法线等的java文件中。大部分内容都是针对iPhone的,以及如何创建.h文件


我要找的是对顶点、坐标、规范和索引的解释,或者是在另一个程序中创建对象并能够将其导出以在Vuforia中使用的系统方法。

好吧,不用担心。您不必从头开始编写代码来创建网格。相反,可以使用Blender/Maya/Unity创建网格,使用艺术工具。使用此选项,可以将此对象导出到.obj或.h文件中

虽然.obj导出器是内置的,但.h导出器不是。但好的一面是,Vuforia有一个出口商

从您的问题来看,很明显您想要用java编码,因此您需要一个.java网格,但是只导入.h并使用NDK来编码会更容易

这是因为没有直接导出到.java类型,因此如果需要用java编写代码,则必须手动从.h文件中移动数据。 java类只是OpenGL ES 2.0重建3D模型所需的缓冲区数据的包装器。它包含数组和顶点、纹理坐标、法线和索引

由于.h文件包含此信息,您可以手动将缓冲区数据复制到类似teapot.java的.java类中

请查看此常见问题解答:


希望这有帮助。

谢谢。我现在正在尝试。我在导出Blender创建的对象时遇到了一个小问题。首先,我需要使用2.63版,然后在Vuforia中,我必须确保禁用了一个函数,如下所示:我不理解您的问题@SoluableNonagon,但从链接的外观来看,我会说您的问题得到了回答:)有解决方案吗?