/// <summary> /// Handles new search results /// </summary> /// <param name="cloudRecoSearchResult"></param> public void OnNewSearchResult(CloudRecoBehaviour.CloudRecoSearchResult cloudRecoSearchResult) { Debug.Log("<color=blue>OnNewSearchResult(): </color>" + cloudRecoSearchResult.TargetName); // This code demonstrates how to reuse an ImageTargetBehaviour for new search results // and modifying it according to the metadata. Depending on your application, it can // make more sense to duplicate the ImageTargetBehaviour using Instantiate() or to // create a new ImageTargetBehaviour for each new result. Vuforia will return a new // object with the right script automatically if you use: // CloudRecoBehaviour.EnableTracking(CloudRecoSearchResult result, string gameObjectName) // Check if the metadata isn't null if (cloudRecoSearchResult.MetaData == null) { Debug.Log("Target metadata not available."); } else { Debug.Log("MetaData: " + cloudRecoSearchResult.MetaData); Debug.Log("TargetName: " + cloudRecoSearchResult.TargetName); Debug.Log("TrackingRating: " + cloudRecoSearchResult.TrackingRating); Debug.Log("UniqueTargetId: " + cloudRecoSearchResult.UniqueTargetId); } // Changing CloudRecoBehaviour.enabled to false will call CloudRecoObserver.Deactivate() // and also call all registered ICloudRecoEventHandler.OnStateChanged() with false. mCloudRecoBehaviour.enabled = false; // Clear any existing observers mCloudRecoBehaviour.ClearObservers(false); // Enable the new result with the same ImageTargetBehaviour: mCloudRecoBehaviour.EnableObservers(cloudRecoSearchResult, ImageTargetBehaviour.gameObject); // Pass the CloudRecoSearchResult to the ObserverEventHandler for processing ImageTargetBehaviour.gameObject.SendMessage("TargetCreated", cloudRecoSearchResult, SendMessageOptions.DontRequireReceiver); }