void LoadDataSet() { ObjectTracker objectTracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); DataSet dataSet = objectTracker.CreateDataSet(); if (dataSet.Load(dataSetName)) { objectTracker.Stop(); // stop tracker so that we can add new dataset if (!objectTracker.ActivateDataSet(dataSet)) { // Note: ImageTracker cannot have more than 100 total targets activated Debug.Log("<color=yellow>Failed to Activate DataSet: " + dataSetName + "</color>"); } if (!objectTracker.Start()) { Debug.Log("<color=yellow>Tracker Failed to Start.</color>"); } int counter = 0; IEnumerable <TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours(); foreach (TrackableBehaviour tb in tbs) { if (tb.name == "STOP") { // change generic name to include trackable name tb.gameObject.name = ++counter + ":DynamicImageTarget-" + tb.TrackableName; // add additional script components for trackable tb.gameObject.AddComponent <DefaultTrackableEventHandler>(); tb.gameObject.AddComponent <TurnOffBehaviour>(); if (augmentationObject != null) { // instantiate augmentation object and parent to trackable GameObject augmentation = (GameObject)GameObject.Instantiate(augmentationObject); augmentation.transform.parent = tb.gameObject.transform; augmentation.transform.localPosition = new Vector3(0f, 0f, 0f); augmentation.transform.localRotation = Quaternion.identity; augmentation.transform.localScale = new Vector3(0.005f, 0.005f, 0.005f); augmentation.gameObject.SetActive(true); } else { Debug.Log("<color=yellow>Warning: No augmentation object specified for: " + tb.TrackableName + "</color>"); } } } } else { Debug.LogError("<color=yellow>Failed to load dataset: '" + dataSetName + "'</color>"); } }
public void OnInitialized() { mObjectTracker = TrackerManager.Instance.GetTracker <ObjectTracker> (); if (mObjectTracker != null) { // Create a new dataset mBuiltDataSet = mObjectTracker.CreateDataSet(); mObjectTracker.ActivateDataSet(mBuiltDataSet); } }
public void LoadDataSet(string _dataSetName, string _bundleUrl, Transform parent, Action <string> _callback) { Vuforia.ObjectTracker objectTracker = TrackerManager.Instance.GetTracker <Vuforia.ObjectTracker>(); DataSet dataSet = objectTracker.CreateDataSet(); if (dataSet.Load(_dataSetName)) { objectTracker.Stop(); // stop tracker so that we can add new dataset if (!objectTracker.ActivateDataSet(dataSet)) { // Note: ImageTracker cannot have more than 100 total targets activated Debug.Log("<color=yellow>Failed to Activate DataSet: " + _dataSetName + "</color>"); } if (!objectTracker.Start()) { Debug.Log("<color=yellow>Tracker Failed to Start.</color>"); } int counter = 0; IEnumerable <TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours(); foreach (TrackableBehaviour tb in tbs) { if (tb != null && tb.name == "New Game Object") { var bundleUrl = String.Join("", new string[2] { _bundleUrl, tb.TrackableName }); tb.transform.SetParent(parent); // change generic name to include trackable name tb.gameObject.name = ++counter + ":DynamicImageTarget-" + tb.TrackableName; Debug.Log("bU " + bundleUrl); // add additional script components for trackable var tracker = tb.gameObject.AddComponent <VuforiaTrackManager>(); tracker.Init(_dataSetName, bundleUrl, _callback); tb.gameObject.AddComponent <TurnOffBehaviour>(); } } } else { Debug.LogError("<color=yellow>Failed to load dataset: '" + _dataSetName + "'</color>"); } }
public void LoadDatasets() { if (this.mDatasetsLoaded) { return; } if (!VuforiaRuntimeUtilities.IsVuforiaEnabled()) { return; } ObjectTracker tracker = TrackerManager.Instance.GetTracker <ObjectTracker>(); string[] array = this.mDataSetsToLoad; int i = 0; while (i < array.Length) { string text = array[i]; DataSet dataSet = null; if (DataSet.Exists(text)) { dataSet = tracker.CreateDataSet(); if (dataSet.Load(text)) { goto IL_12A; } Debug.LogError("Failed to load data set " + text + "."); } else { if (this.mExternalDatasetRoots.Count <= 0) { goto IL_12A; } Debug.Log("Data set " + text + " not present in application package, checking extended root locations"); using (List <string> .Enumerator enumerator = this.mExternalDatasetRoots.GetEnumerator()) { while (enumerator.MoveNext()) { string text2 = enumerator.Current + text + ".xml"; if (DataSet.Exists(text2, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) { dataSet = tracker.CreateDataSet(); if (!dataSet.Load(text2, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) { Debug.LogError("Failed to load data set " + text2 + "."); } else { Debug.Log("Loaded dataset at " + text2); } } } } if (dataSet == null) { Debug.LogError("Unable to find " + text + " in extended root locations"); goto IL_12A; } goto IL_12A; } IL_15C: i++; continue; IL_12A: if (!this.mDataSetsToActivate.Contains(text)) { goto IL_15C; } if (dataSet != null) { tracker.ActivateDataSet(dataSet); goto IL_15C; } Debug.LogError("Dataset " + text + " could not be loaded and cannot be activated."); goto IL_15C; } this.mDatasetsLoaded = true; }