Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2019, 16:13   #1
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию Vuforia Cloud Recognition использование metadate

Здравствуйте, пытаюсь настроить Cloud Recognition, имеется таргет в облаке + metadate(txt файл в котором лежит ссылка на изображение).
Подскажите как сделать, чтобы при на ведении на таргет, появлялось изображение из metadate.
Писал скрипт, но в итоге выводит только ссылку которая находиться в metadate.
Вот скрипт
Код:
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;
            }
        }
 
    }
   
}
Как можно это реализовать ?
fr0st1k123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Java] При запуске eclipse выдает вод такую ошибку An erro has ocured.see the log file C:users... workspace/.metadate/.log Amirjan Помощь студентам 13 27.09.2017 13:44
Программист Unyti +Vuforia для iOS и Android на проект ARProduct Фриланс 0 06.08.2016 21:14
Google Speech-Recognition API TUberwer Общие вопросы Delphi 3 05.07.2013 08:24
xna speech recognition AntonPro C# (си шарп) 1 30.01.2013 15:55
Использование Speech Recognition RuVarez Софт 2 23.04.2012 15:32