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); } AddTrackerData(); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_IMAGE); StartCamera(); // 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 } } }
void Start() { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; AddTrackerData(); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_IMAGE); StartCamera(); // For see through smart glass setting if (ConfigurationScriptableObject.GetInstance().WearableType == WearableCalibration.WearableType.OpticalSeeThrough) { WearableManager.GetInstance().GetDeviceController().SetStereoMode(true); cameraBackgroundBehaviour.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 } } }
void Start() { instantTrackable = FindObjectOfType <InstantTrackableBehaviour>(); if (instantTrackable == null) { return; } instantTrackable.OnTrackFail(); StartCamera(); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_INSTANT); SensorDevice.GetInstance().Start(); // 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 } } }
void Start() { MarkerTrackerBehaviour[] markerTrackables = FindObjectsOfType <MarkerTrackerBehaviour>(); foreach (var trackable in markerTrackables) { trackable.SetMarkerTrackerFileName(trackable.MarkerID, trackable.MarkerSize); markerTrackableMap.Add(trackable.MarkerID, trackable); Debug.Log("Trackable id: " + trackable.MarkerID); Debug.Log(trackable.TrackerDataFileName); } AddTrackerData(); StartCamera(); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_MARKER); // 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 } } }
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 } } }
void Start() { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; cloudTrackablesMap.Clear(); CloudTrackableBehaviour[] cloudTrackables = FindObjectsOfType <CloudTrackableBehaviour>(); foreach (var trackable in cloudTrackables) { if (trackable.CloudName == "") { Debug.LogError("Defined Name is must be named."); continue; } if (cloudTrackablesMap.ContainsKey(trackable.CloudName)) { List <CloudTrackableBehaviour> cloudTrackableList = cloudTrackablesMap[trackable.CloudName]; cloudTrackableList.Add(trackable); cloudTrackablesMap.Add(trackable.CloudName, cloudTrackableList); } else { List <CloudTrackableBehaviour> cloudTrackableList = new List <CloudTrackableBehaviour>(); cloudTrackableList.Add(trackable); cloudTrackablesMap.Add(trackable.CloudName, cloudTrackableList); } } StartCamera(); // Add SecretId and SecretKey. TrackerManager.GetInstance().setCloudRecognitionSecretIdAndSecretKey("", ""); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_CLOUD_RECOGNIZER); // 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 } } }
public void ChangeCameraPosition() { AbstractConfigurationScriptableObject conf = ConfigurationScriptableObject.GetInstance(); if (conf.CameraType == CameraDevice.CameraType.Face) { conf.CameraType = CameraDevice.CameraType.Rear; CameraDevice.GetInstance().Stop(); CameraDevice.GetInstance().Start(); } else { conf.CameraType = CameraDevice.CameraType.Face; CameraDevice.GetInstance().Stop(); CameraDevice.GetInstance().Start(); } }
void Awake() { base.Init(); #if UNITY_ANDROID androidEngine = new AndroidEngine(); #elif UNITY_IOS string licenseKey = ConfigurationScriptableObject.GetInstance().LicenseKey; NativeAPI.init(licenseKey); #endif #if UNITY_EDITOR // Find arsdk_version.txt // if not exist file create file and write arsdk version // if file exist write System.IO.File.WriteAllText(System.IO.Path.Combine(Application.streamingAssetsPath, "arsdk_version.txt"), MaxstAR.GetVersion()); #endif }
void Start() { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; instantTrackable = FindObjectOfType <InstantTrackableBehaviour>(); if (instantTrackable == null) { return; } instantTrackable.OnTrackFail(); if (TrackerManager.GetInstance().IsFusionSupported()) { CameraDevice.GetInstance().SetARCoreTexture(); CameraDevice.GetInstance().SetFusionEnable(); CameraDevice.GetInstance().Start(); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_INSTANT_FUSION); } else { TrackerManager.GetInstance().RequestARCoreApk(); } // 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 } } }
public AndroidEngine() { #if !UNITY_EDITOR if (currentActivity == null || maxstARClass == null) { AndroidJavaClass javaUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); currentActivity = javaUnityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); if (currentActivity != null) { string licenseKey = ConfigurationScriptableObject.GetInstance().LicenseKey; maxstARClass = new AndroidJavaClass("com.maxst.ar.MaxstARInitializer"); maxstARClass.CallStatic("init", currentActivity, licenseKey); maxstARClass.CallStatic("setCameraApi", 1); } else { Debug.Log("No Activity"); } } #endif }
public override void OnInspectorGUI() { if (PrefabUtility.GetPrefabType(target) == PrefabType.Prefab) { return; } bool isDirty = false; arManager = (ARManager)target; EditorGUILayout.Separator(); AbstractARManager.WorldCenterMode oldWorldCenterMode = arManager.WorldCenterModeSetting; AbstractARManager.WorldCenterMode newWorldCenterMode = (AbstractARManager.WorldCenterMode)EditorGUILayout.EnumPopup("World Center Mode", arManager.WorldCenterModeSetting); if (oldWorldCenterMode != newWorldCenterMode) { arManager.SetWorldCenterMode(newWorldCenterMode); isDirty = true; } EditorGUILayout.Separator(); GUIContent content = new GUIContent("Configuration"); if (GUILayout.Button(content, GUILayout.MaxWidth(Screen.width), GUILayout.MaxHeight(maxHeight))) { Selection.activeObject = ConfigurationScriptableObject.GetInstance(); } GUILayout.Space(10); if (GUI.changed && isDirty) { EditorUtility.SetDirty(arManager); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } }
void Start() { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; QrCodeTrackablesMap.Clear(); QrCodeTrackableBehaviour[] QrCodeTrackables = FindObjectsOfType <QrCodeTrackableBehaviour>(); if (QrCodeTrackables.Length > 0) { if (QrCodeTrackables[0].QrCodeSearchingWords.Length < 1) { List <QrCodeTrackableBehaviour> qrCodeList = new List <QrCodeTrackableBehaviour>(); qrCodeList.Add(QrCodeTrackables[0]); QrCodeTrackablesMap.Add(defaultSearchingWords, qrCodeList); } } foreach (var trackable in QrCodeTrackables) { string key = trackable.QrCodeSearchingWords; if (key.Length < 1) { key = defaultSearchingWords; } if (QrCodeTrackablesMap.ContainsKey(key)) { bool isNew = true; foreach (var QrCodeTrackableList in QrCodeTrackablesMap[key]) { if (trackable.name.Equals(QrCodeTrackableList.name)) { isNew = false; break; } } if (isNew) { QrCodeTrackablesMap[defaultSearchingWords].Add(trackable); } } else { List <QrCodeTrackableBehaviour> qrCodeList = new List <QrCodeTrackableBehaviour>(); qrCodeList.Add(trackable); QrCodeTrackablesMap.Add(key, qrCodeList); } Debug.Log("Trackable add: " + trackable.TrackableName); } if (TrackerManager.GetInstance().IsFusionSupported()) { CameraDevice.GetInstance().SetARCoreTexture(); TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_QR_FUSION); AddTrackerData(); } else { TrackerManager.GetInstance().RequestARCoreApk(); } // 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 } } }
public override void OnInspectorGUI() { if (PrefabUtility.GetPrefabType(target) == PrefabType.Prefab) { return; } configuration = (ConfigurationScriptableObject)target; isDirty = false; licenseFold = EditorGUILayout.Foldout(licenseFold, "License Key Setting"); if (licenseFold) { EditorGUILayout.LabelField("License key"); string licenseKey = configuration.LicenseKey; configuration.LicenseKey = EditorGUILayout.TextArea(licenseKey, GUILayout.MaxHeight(40)); EditorGUILayout.HelpBox("Please register your app at https://developer.maxst.com/.", MessageType.Info); EditorGUILayout.Space(); if (string.Equals(licenseKey, configuration.LicenseKey) == false) { isDirty = true; } } cameraFold = EditorGUILayout.Foldout(cameraFold, "Camera Settings"); if (cameraFold) { CameraDevice.CameraType cameraType = configuration.CameraType; configuration.CameraType = (CameraDevice.CameraType)EditorGUILayout.EnumPopup("Mobile Camera Type", cameraType); EditorGUILayout.HelpBox("Camera settings in mobile app", MessageType.Info); EditorGUILayout.Space(); if (string.Equals(cameraType, configuration.CameraType) == false) { isDirty = true; } int webcamType = configuration.WebcamType; configuration.WebcamType = EditorGUILayout.Popup("Webcam Type", webcamType, LoadWebcamDeviceList()); EditorGUILayout.HelpBox("Webcam settings in Editor mode.", MessageType.Info); EditorGUILayout.Space(); if (string.Equals(webcamType, configuration.WebcamType) == false) { isDirty = true; } CameraDevice.CameraResolution cameraResolution = configuration.CameraResolution; configuration.CameraResolution = (CameraDevice.CameraResolution)EditorGUILayout.EnumPopup("Camera Resolution", cameraResolution); EditorGUILayout.HelpBox("Please select a supported resolution.", MessageType.Info); EditorGUILayout.Space(); if (string.Equals(cameraResolution, configuration.CameraResolution) == false) { isDirty = true; } WearableCalibration.WearableType wearableType = configuration.WearableType; configuration.WearableType = (WearableCalibration.WearableType)EditorGUILayout.EnumPopup("Wearable Type", wearableType); EditorGUILayout.HelpBox("Please select a wearable type.", MessageType.Info); EditorGUILayout.Space(); if (string.Equals(wearableType, configuration.WearableType) == false) { isDirty = true; } } if (GUI.changed && isDirty) { EditorUtility.SetDirty(configuration); EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); } }