【问题标题】:Add more teapots on an Image Target using Vuforia使用 Vuforia 在图像目标上添加更多茶壶
【发布时间】:2014-05-28 07:30:37
【问题描述】:

我是 Android Vuforia AR 开发的新手。在google和vuforia论坛都没有结果后,我来这里需要你的建议。我成功地用我自己的 3d 对象替换了一个茶壶,现在我需要将另一个茶壶添加到“石头”目标中,就像这张图片 link?你曾经处理过这个案例吗?请给我一些线索开始。

感谢和最好的问候!

【问题讨论】:

    标签: android image augmented-reality vuforia


    【解决方案1】:

    您在使用 Unity 吗?这里有两个建议:

    您可以按照此代码以编程方式在图像目标上实例化预制件,只需添加额外的转换:

    https://developer.vuforia.com/forum/faq/unity-how-can-i-dynamically-attach-my-3d-model-image-target

    或者,在场景层次结构中,您可以创建 ImageTarget 预制件的其他 GameObjects 子项(可能是最简单的方法),并使用场景编辑器调整它们的位置。

    【讨论】:

    • 感谢您的回复@JAL!我仍然没有使用 Unity。但是,我可以使用 Java 代码添加新的茶壶吗?我开始学习 Unity,但是这个软件不支持我笔记本电脑的摄像头。
    • @John 抱歉回复晚了,但我不熟悉将 Vuforia 与 Java 结合使用。感谢您接受我的回答。
    【解决方案2】:

    首先,在转换之前获取模型视图矩阵的新副本。其次,在使用之前绑定你的modelViewProjectionMatrix。

    modelViewMatrix = QCAR::Tool::convertPose2GLMatrix(trackable->getPose());
    
    SampleUtils::rotatePoseMatrix(5.0f, 0.0f, 0.0f, 1.0f, &modelViewMatrix.data[0]);
    SampleUtils::scalePoseMatrix(kObjectScale, kObjectScale, kObjectScale,
                                 &modelViewMatrix.data[0]);
    SampleUtils::multiplyMatrix(&projectionMatrix.data[0],
                                &modelViewMatrix.data[0] ,
                                &modelViewProjection.data[0]);
    
    glUniformMatrix4fv(mvpMatrixHandle, 1, GL_FALSE,
                       (GLfloat*)&modelViewProjection.data[0] );
    
    SampleUtils::checkGlError("ImageTargets renderFrame");
    glDrawElements(GL_TRIANGLES, NUM_TEAPOT_OBJECT_INDEX, GL_UNSIGNED_SHORT,
                   (const GLvoid*) &teapotIndices[0]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 2019-08-30
      相关资源
      最近更新 更多