/// <summary> Use this for initialization. </summary> void Create() { if (m_PhotoCaptureObject != null) { NRDebugger.Info("The NRPhotoCapture has already been created."); return; } // Create a PhotoCapture object NRPhotoCapture.CreateAsync(false, delegate(NRPhotoCapture captureObject) { m_CameraResolution = NRPhotoCapture.SupportedResolutions.OrderByDescending((res) => res.width * res.height).First(); if (captureObject != null) { m_PhotoCaptureObject = captureObject; } else { NRDebugger.Error("Can not get a captureObject."); } CameraParameters cameraParameters = new CameraParameters(); cameraParameters.cameraResolutionWidth = m_CameraResolution.width; cameraParameters.cameraResolutionHeight = m_CameraResolution.height; cameraParameters.pixelFormat = CapturePixelFormat.BGRA32; cameraParameters.blendMode = BlendMode.Blend; // Activate the camera m_PhotoCaptureObject.StartPhotoModeAsync(cameraParameters, delegate(NRPhotoCapture.PhotoCaptureResult result) { NRDebugger.Info("Start PhotoMode Async"); }); }); }
/// <summary> Creates a new NRTrackableAccessor. </summary> /// <param name="target"> Target for the.</param> /// <returns> A NRTrackableAccessor. </returns> public static NRTrackableAccessor Create(NRTrackableBehaviour target) { if (target is NRTrackableImageBehaviour) { return(new NRImageTargetAccessor((NRTrackableImageBehaviour)target)); } NRDebugger.Error(target.GetType().ToString() + "is not derived from NRTrackableImageBehaviour"); return(null); }
/// <summary> Closes this object. </summary> void Close() { if (m_PhotoCaptureObject == null) { NRDebugger.Error("The NRPhotoCapture has not been created."); return; } // Deactivate our camera m_PhotoCaptureObject.StopPhotoModeAsync(OnStoppedPhotoMode); }
/// <summary> Loads the matrix. </summary> /// <returns> The matrix. </returns> private static Material LoadMat() { string text = "Assets/NRSDK/Emulator/Materials/DefaultTarget.mat"; Material mat = AssetDatabase.LoadAssetAtPath <Material>(text); if (mat == null) { NRDebugger.Error("Could not find reference material at " + text + " please reimport Unity package."); } return(mat); }
/// <summary> Executes the 'stopped photo mode' action. </summary> /// <param name="result"> The result.</param> void OnStoppedPhotoMode(NRPhotoCapture.PhotoCaptureResult result) { if (m_PhotoCaptureObject == null) { NRDebugger.Error("The NRPhotoCapture has not been created."); return; } // Shutdown our photo capture resource m_PhotoCaptureObject.Dispose(); m_PhotoCaptureObject = null; }
/// <summary> Draw inspector graphical user interface. </summary> private void DrawInspectorGUI() { if (m_Database == null) { NRDebugger.Error("NRKernalSessionConfig.TrackingImageDatabase is null"); return; } EditorGUI.BeginDisabledGroup(true); EditorGUILayout.Popup("Database", 0, new string[] { m_Database.name }); EditorGUI.EndDisabledGroup(); for (int i = 0; i < m_ImagesName.Length; i++) { m_ImagesName[i] = m_Database[i].Name; } m_SerializedObj.DatabaseIndex = EditorGUILayout.Popup("Image Target", m_SerializedObj.DatabaseIndex, m_ImagesName); if (m_SerializedObj.DatabaseIndex != m_PreSelectOption) { m_PreSelectOption = m_SerializedObj.DatabaseIndex; // todo logic m_SerializedObj.Width = m_Database[m_SerializedObj.DatabaseIndex].Width; m_SerializedObj.Height = m_Database[m_SerializedObj.DatabaseIndex].Width;//Height; UpdateProperties(m_SerializedObj); } if (base.serializedObject.isEditingMultipleObjects) { m_SerializedObj.SerializedObject.ApplyModifiedPropertiesWithoutUndo(); Object[] targetObjs = m_SerializedObj.SerializedObject.targetObjects; for (int i = 0; i < targetObjs.Length; i++) { UpdateAppearance(m_SerializedObj); } } else { UpdateAppearance(m_SerializedObj); } EditorGUI.BeginDisabledGroup(true); EditorGUILayout.PropertyField(m_SerializedObj.WidthProperty, new GUIContent("Width"), new GUILayoutOption[0]); EditorGUILayout.PropertyField(m_SerializedObj.HeightProperty, new GUIContent("Height"), new GUILayoutOption[0]); EditorGUI.EndDisabledGroup(); }
/// <summary> Tests create video capture. </summary> void CreateVideoCaptureTest() { NRVideoCapture.CreateAsync(false, delegate(NRVideoCapture videoCapture) { if (videoCapture != null) { m_VideoCapture = videoCapture; } else { NRDebugger.Error("Failed to create VideoCapture Instance!"); } }); }