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

时间:2019-02-21 04:25:47

标签: unity3d vuforia arcore vuforia-cloud-recognition

我已经使用vuforia统一创建了一个原型应用程序,在该应用程序中,我将图像上传到myserver,然后服务器将图像(以及元数据中关联的资产捆绑的链接)发送到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中一样具有元数据?

1 个答案:

答案 0 :(得分:0)

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

  1. 您可以使用以下方法修改会话配置来切换到其他数据库:GoogleARCore.ARCoreSessionConfig.AugmentedImageDatabase
  2. 正如我所说,您可以在运行时将图像添加到数据库,只要您在项目层次结构中拥有图像,就可以add images到数据库。
  3. 我不认为只有元数据才可以获取图像的数据库索引。

祝你好运!