【问题标题】:Vuforia iOS example project can't show AR model after replace .dat and .xml image targetVuforia iOS 示例项目在替换 .dat 和 .xml 图像目标后无法显示 AR 模型
【发布时间】:2018-01-21 19:40:17
【问题描述】:

我得到了 Vuforia 官方示例项目和别人的 Vuforia Swift 项目。我必须做很多配置才能使两个项目都完成编译。 (类似于 vuforiaLicenseKey 和 vuforiaDataSetFile)之后,我发现用我的数据库替换演示数据库后,AR 模型没有显示在演示图像目标上。

为此,我已更新源代码。当我调试时,我可以看到我的图像目标已被检测到。并且,官方示例和其他示例都开始绘制 OpenGL 3D 模型或绘制场景套件节点。问题是我在屏幕上看不到它们。但是如果我重新配置示例数据库,我可以看到 AR 视图正常工作。

以下代码是来自yshrkt/VuforiaSampleSwift 的 swift 项目示例。它正在工作,并且 trackerableName == "coaster" 的条件为真。这意味着应用检测到了过山车图像。

 func vuforiaManager(_ manager: VuforiaManager!, didUpdateWith state: VuforiaState!) {
    for index in 0 ..< state.numberOfTrackableResults {
        let result = state.trackableResult(at: index)
        let trackerableName = result?.trackable.name
        //print("\(trackerableName)")

        if trackerableName == "coaster" {
            boxMaterial.diffuse.contents = UIColor.yellow

            if lastSceneName != "coaster" {
                manager.eaglView.setNeedsChangeSceneWithUserInfo(["scene" : "coaster"])
                lastSceneName = "coaster "
            }
        } else {
            print("\(trackerableName?.description)")
            boxMaterial.diffuse.contents = UIColor.blue

            if lastSceneName != "chips" {
                manager.eaglView.setNeedsChangeSceneWithUserInfo(["scene" : "chips"])
                lastSceneName = "chips"
            }
        }

    }
}

而且,它调用了以下乐趣。一切看起来都不错。

(void)setNeedsChangeSceneWithUserInfo: (NSDictionary*)userInfo {
    SCNScene* scene = [self.sceneSource sceneForEAGLView:self userInfo:userInfo];
    if (scene == nil) {
        return;
    }

    SCNCamera* camera = [SCNCamera camera];
    _cameraNode = [SCNNode node];
    _cameraNode.camera = camera;
    _cameraNode.camera.projectionTransform = _projectionTransform;
   [scene.rootNode addChildNode:_cameraNode];

    _renderer.scene = scene;
   _renderer.pointOfView = _cameraNode;
}

同样的项目,在我更新我的图像目标数据库之前,它工作正常,检测图像目标然后在 AR 视图上绘制模型。但是,我更换数据库后,它只能检测图像目标,它不能再在 AR 视图上绘制模型了。

【问题讨论】:

    标签: ios vuforia


    【解决方案1】:

    有两个可能的原因可以解释这一点 - 如果您的目标尺寸有误,或者“过山车”场景中有问题。您应该首先尝试将“过山车”场景与“筹码”目标一起使用。如果您可以看到场景,则问题可能与您的目标大小有关。如果它不起作用,请尝试使用带有“芯片”场景的新目标。 这应该可以帮助您隔离问题,并在此处提供更多详细信息。

    【讨论】:

    • 是的,你是对的!我们认为的大小是像素分辨率。其实是米!!!!!!!!!!仪表!!!!!仪表!!!!! Vuforia 应该高亮的单位是米,而不是小字体段落开头。
    • 你说的不准确,但我同意这有点令人困惑。您可以在这里快速浏览:library.vuforia.com/articles/Solution/Targets.html,在“目标大小代表什么?”下部分。但无论如何,我很高兴你能够解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多