vuforia Cloud Recognition использование metadate

Раздел, посвящённый Дополненной Реальности и Виртуальной Реальности

vuforia Cloud Recognition использование metadate

Сообщение uncontrol21 13 фев 2019, 10:17

Здравствуйте, пытаюсь настроить Cloud Recognition, имеется таргет в облаке + metadate(txt файл в котором лежит ссылка на изображение).
Подскажите как сделать, чтобы при на ведении на таргет, появлялось изображение из metadate.
Писал скрипт, но в итоге выводит только ссылку которая находиться в metadate.
Вот скрипт
Синтаксис:
Используется csharp
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;



public class SimpleCloudHandler : MonoBehaviour, ICloudRecoEventHandler
{
    public ImageTargetBehaviour ImageTargetTemplate;
    private CloudRecoBehaviour mCloudRecoBehaviour;
    private bool mIsScanning = false;
    private string mTargetMetadata = "";
    public GameObject MainImage;
    void Start()
    {
        // register this event handler at the cloud reco behaviour
        CloudRecoBehaviour cloudRecoBehaviour = GetComponent<CloudRecoBehaviour>();

        if (cloudRecoBehaviour)
        {
            cloudRecoBehaviour.RegisterEventHandler(this);
        }
        mCloudRecoBehaviour = cloudRecoBehaviour;
        MainImage = GameObject.Find("tableCAB");
       

    }
   
    public void OnStateChanged(bool scanning)
    {
        mIsScanning = scanning;
        if (scanning)
        {
            // очистить все track
            ObjectTracker tracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
            tracker.TargetFinder.ClearTrackables(false);
        }
    }
    public void OnInitError(TargetFinder.InitState initError)
    {
        Debug.Log("Cloud Reco init error " + initError.ToString());
    }

    public void OnInitialized(TargetFinder targetFinder)
    {
        Debug.Log("Cloud Reco initialized");
    }

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

        GameObject newImageTarget = Instantiate(ImageTargetTemplate.gameObject) as GameObject;
        MainImage = newImageTarget.transform.GetChild(0).gameObject;
 
        GameObject augmentation = null;
        if (augmentation != null)
            augmentation.transform.SetParent(newImageTarget.transform);
        if(ImageTargetTemplate)
        {
            ObjectTracker tracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
            ImageTargetBehaviour imageTargetBehaviour = (ImageTargetBehaviour)tracker.TargetFinder.EnableTracking(targetSearchResult , newImageTarget);
        }
       
        string IMG = cloudRecoSearchResult.MetaData; // ссылка на изображение
       



        if (!mIsScanning)
        {
            mCloudRecoBehaviour.CloudRecoEnabled = true;
        }
    }

 

    public void OnUpdateError(TargetFinder.UpdateState updateError)
    {
        Debug.Log("Cloud Reco update error " + updateError.ToString());
    }

    // Use this for initialization
   
    void OnGUI()
    {
        // показать статус
        GUI.Box(new Rect(100, 100, 200, 50), mIsScanning ? "Scanning" : "Not scanning");
        // отображение методанных
        GUI.Box(new Rect(100, 200, 200, 50), "Metadata: " + mTargetMetadata);
       
        if (!mIsScanning)
        {
            if (GUI.Button(new Rect(100, 300, 200, 50), "Restart Scanning"))
            {
                // Restart TargetFinder
                mCloudRecoBehaviour.CloudRecoEnabled = true;
            }
        }

    }
   
}
 

Как можно это реализовать ?
uncontrol21
UNец
 
Сообщения: 1
Зарегистрирован: 13 фев 2019, 09:38

Вернуться в AR / VR

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2