- Sort Posts
- 7 replies
- Last post
Multiple Targets with multiple Objects
February 5, 2013 - 10:40am #7
Multiple Targets with multiple Objects
February 5, 2013 - 10:48am #5
see the instructions in this thread - https://developer.vuforia.com/forum/unity-3-extension-technical-discussion/please-explain-step-step-how-use-vuforia-cloud
Multiple Targets with multiple Objects
February 5, 2013 - 10:58am #4
Multiple Targets with multiple Objects
February 5, 2013 - 11:59am #3
You'll need to replace the CloudRecoEventHandler script with this version - which is copied from that thread. Add this script to the CloudRecognition prefab instance and drag your ImageTarget instance onto the Image Target Template field. Be sure that the Image Target Behaviour type is defined as Cloud Reco. It may be easier to start with a fresh project, rather than use the sample.
using System; using UnityEngine; /// <summary> /// This MonoBehaviour implements the Cloud Reco Event handling for this sample. /// It registers itself at the CloudRecoBehaviour and is notified of new search results. /// </summary> public class SimpleCloudRecoEventHandler : MonoBehaviour, ICloudRecoEventHandler { #region PRIVATE_MEMBER_VARIABLES // CloudRecoBehaviour reference to avoid lookups private CloudRecoBehaviour mCloudRecoBehaviour; // ImageTracker reference to avoid lookups private ImageTracker mImageTracker; #endregion // PRIVATE_MEMBER_VARIABLES #region EXPOSED_PUBLIC_VARIABLES /// <summary> /// can be set in the Unity inspector to reference a ImageTargetBehaviour that is used for augmentations of new cloud reco results. /// </summary> public ImageTargetBehaviour ImageTargetTemplate; #endregion #region ICloudRecoEventHandler_IMPLEMENTATION /// <summary> /// called when TargetFinder has been initialized successfully /// </summary> public void OnInitialized() { // get a reference to the Image Tracker, remember it mImageTracker = (ImageTracker)TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER); } /// <summary> /// initialization errors /// </summary> public void OnInitError(TargetFinder.InitState initError) { } /// <summary> /// update errors /// </summary> public void OnUpdateError(TargetFinder.UpdateState updateError) { } /// <summary> /// updates to the scanning state /// </summary> public void OnStateChanged(bool scanning) { } /// <summary> /// Handles new search results /// </summary> /// <param name="targetSearchResult"></param> public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult) { // duplicate the referenced image target GameObject newImageTarget = Instantiate(ImageTargetTemplate.gameObject) as GameObject; // enable the new result with the same ImageTargetBehaviour: ImageTargetBehaviour imageTargetBehaviour = mImageTracker.TargetFinder.EnableTracking(targetSearchResult, newImageTarget); if (imageTargetBehaviour != null) { // stop the target finder mCloudRecoBehaviour.CloudRecoEnabled = false; } } #endregion // ICloudRecoEventHandler_IMPLEMENTATION #region UNTIY_MONOBEHAVIOUR_METHODS /// <summary> /// register for events at the CloudRecoBehaviour /// </summary> void Start() { // register this event handler at the cloud reco behaviour CloudRecoBehaviour cloudRecoBehaviour = GetComponent<CloudRecoBehaviour>(); if (cloudRecoBehaviour) { cloudRecoBehaviour.RegisterEventHandler(this); } // remember cloudRecoBehaviour for later mCloudRecoBehaviour = cloudRecoBehaviour; } #endregion // UNTIY_MONOBEHAVIOUR_METHODS }
Multiple Targets with multiple Objects
February 26, 2013 - 11:33am #2
For that many targets, I recommend that you use our VWS API. Here are samples in Java that show how to upload and manage your targets - VWS Sample Code
Also see: https://developer.vuforia.com/resources/dev-guide/managing-targets-cloud-database-using-developer-api
Where are you stuck?