如何在 Arcore(unity) 中获得 vuforia 云识别功能

How to get vuforia cloud recognition kind of feature in Arcore(unity)

我使用 vuforia 创建了一个统一的原型应用程序,我将图像上传到我的服务器,然后服务器将图像(以及相关的 assetbundle 的 link 元数据)发送到 vuforia 云以将其添加到图像目标数据库。然后当相机跟踪图像目标时统一下载资产包来增强它。

public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult)
{
    TargetFinder.TargetSearchResult cloudRecoSearchResult =
        (TargetFinder.TargetSearchResult)targetSearchResult;

    mTargetMetadata = cloudRecoSearchResult.MetaData;
    Debug.Log(mTargetMetadata);

    mCloudRecoBehaviour.CloudRecoEnabled = false;

    // Build augmentation based on target
    if (ImageTargetTemplate)
    {
        Debug.Log("Image target activated");
        // enable the new result with the same ImageTargetBehaviour:
        ObjectTracker tracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
        ImageTargetBehaviour imageTargetBehaviour =
         (ImageTargetBehaviour)tracker.TargetFinder.EnableTracking(
         targetSearchResult, ImageTargetTemplate.gameObject);
        JsonData jd = JsonMapper.ToObject(mTargetMetadata);
        string url = jd["content-url"].ToString();
        Debug.Log("video url :"+ "http://192.168.2.92/arads/" + url);
        vidPlayer.url = "http://192.168.2.92/arads/"+url;
        vidPlayer.Prepare();
        if(!vidPlayer.isPlaying)
        vidPlayer.Play();
    }
}

以上代码是从服务器获取关联视频。我可以用 arcore 或 arfoundation 获得类似的功能吗,我读到 arcore 的参考图像数据库可以有 1000 张图像,

  1. 如果我正在跟踪的图像不在当前数据库中怎么办,在这种情况下我可以切换到不同的数据库吗?

  2. 每当我在服务器上上传新图片时,是否必须下载图片并将其添加到应用程序的数据库中?

  3. arcore 中的这些图像可以像 vuforia 中那样具有元数据吗?

ARCore 和 Vuforia 的区别在于,在 ARCore 中,您可以在 运行 时间内将图像添加到数据库,因此您不必使用任何服务器。

  1. 您可以通过修改会话配置来切换到不同的数据库:GoogleARCore.ARCoreSessionConfig.AugmentedImageDatabase
  2. 正如我所说,您可以在 运行 时间内将图像添加到数据库,因此只要您的项目层次结构中有图像,您就可以 add images 到数据库。
  3. 我不认为拥有元数据是可能的,您唯一可以获得的信息是图像的数据库索引。

祝你好运!