private void AddTrackerData() { foreach (var trackable in imageTrackablesMap) { if (trackable.Value.TrackerDataFileName.Length == 0) { continue; } if (trackable.Value.StorageType == StorageType.AbsolutePath) { TrackerManager.GetInstance().AddTrackerData(trackable.Value.TrackerDataFileName); TrackerManager.GetInstance().LoadTrackerData(); } else if (trackable.Value.StorageType == StorageType.StreamingAssets) { if (Application.platform == RuntimePlatform.Android) { StartCoroutine(MaxstARUtil.ExtractAssets(trackable.Value.TrackerDataFileName, (filePah) => { TrackerManager.GetInstance().AddTrackerData(filePah, false); TrackerManager.GetInstance().LoadTrackerData(); })); } else { TrackerManager.GetInstance().AddTrackerData(Application.streamingAssetsPath + "/" + trackable.Value.TrackerDataFileName); TrackerManager.GetInstance().LoadTrackerData(); } } } }
void Start() { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; imageTrackablesMap.Clear(); ImageTrackableBehaviour[] imageTrackables = FindObjectsOfType <ImageTrackableBehaviour>(); foreach (var trackable in imageTrackables) { imageTrackablesMap.Add(trackable.TrackableName, trackable); Debug.Log("Trackable add: " + trackable.TrackableName); } TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_IMAGE); AddTrackerData(); videoPlayer.playOnAwake = false; videoPlayer.isLooping = true; videoPlayer.sendFrameReadyEvents = true; videoPlayer.frameReady += OnNewFrame; if (Application.platform == RuntimePlatform.Android) { StartCoroutine(MaxstARUtil.ExtractAssets("MaxstAR/tracking_video.mp4", (filePah) => { videoPlayer.url = filePah; SwitchCameraToVideo(CameraMode); })); } else { videoPlayer.url = Application.streamingAssetsPath + "/MaxstAR/tracking_video.mp4"; SwitchCameraToVideo(CameraMode); } // For see through smart glass setting if (ConfigurationScriptableObject.GetInstance().WearableType == WearableCalibration.WearableType.OpticalSeeThrough) { WearableManager.GetInstance().GetDeviceController().SetStereoMode(true); CameraBackgroundBehaviour cameraBackground = FindObjectOfType <CameraBackgroundBehaviour>(); cameraBackground.gameObject.SetActive(false); WearableManager.GetInstance().GetCalibration().CreateWearableEye(Camera.main.transform); // BT-300 screen is splited in half size, but R-7 screen is doubled. if (WearableManager.GetInstance().GetDeviceController().IsSideBySideType() == true) { // Do something here. For example resize gui to fit ratio } } }
private void AddTrackerData() { foreach (var trackable in objectTrackablesMap) { if (trackable.Value.TrackerDataFileName.Length == 0) { continue; } string realSizeData = null; if (trackable.Value.RealSize > 0) { realSizeData = "{\"object_fusion\":\"set_length\",\"object_name\":\"" + trackable.Value.TrackableName + "\", \"length\":" + trackable.Value.RealSize + "}"; } if (trackable.Value.StorageType == StorageType.AbsolutePath) { TrackerManager.GetInstance().AddTrackerData(trackable.Value.TrackerDataFileName); if (realSizeData != null) { TrackerManager.GetInstance().AddTrackerData(realSizeData); } TrackerManager.GetInstance().LoadTrackerData(); } else if (trackable.Value.StorageType == StorageType.StreamingAssets) { if (Application.platform == RuntimePlatform.Android) { StartCoroutine(MaxstARUtil.ExtractAssets(trackable.Value.TrackerDataFileName, (filePah) => { TrackerManager.GetInstance().AddTrackerData(filePah, false); if (realSizeData != null) { TrackerManager.GetInstance().AddTrackerData(realSizeData); } TrackerManager.GetInstance().LoadTrackerData(); })); } else { TrackerManager.GetInstance().AddTrackerData(Application.streamingAssetsPath + "/" + trackable.Value.TrackerDataFileName); if (realSizeData != null) { TrackerManager.GetInstance().AddTrackerData(realSizeData); } TrackerManager.GetInstance().LoadTrackerData(); } } } }