private void OnGUI() { if (GUI.Button(new Rect(100f, 100f, 200f, 50f), "Stop")) { UnityARSessionNativeInterface.GetARSessionNativeInterface().Pause(); } if (GUI.Button(new Rect(300f, 100f, 200f, 50f), "Start")) { ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration(alignmentOptions[currentAlignmentIndex], planeOptions[currentPlaneIndex]); UnityARSessionNativeInterface.GetARSessionNativeInterface().RunWithConfigAndOptions(config, runOptions[currentOptionIndex]); } if (GUI.Button(new Rect(100f, 300f, 200f, 100f), "Start Non-WT Session")) { ARKitSessionConfiguration config2 = new ARKitSessionConfiguration(alignmentOptions[currentAlignmentIndex], getPointCloudData: true, enableLightEstimation: true); UnityARSessionNativeInterface.GetARSessionNativeInterface().RunWithConfig(config2); } string str = (currentOptionIndex == 0) ? "Full" : ((currentOptionIndex == 1) ? "Tracking" : ((currentOptionIndex != 2) ? "None" : "Anchors")); if (GUI.Button(new Rect(100f, 200f, 150f, 50f), "RunOption:" + str)) { currentOptionIndex = (currentOptionIndex + 1) % 4; } string str2 = (currentAlignmentIndex == 0) ? "Camera" : ((currentAlignmentIndex != 1) ? "GravityAndHeading" : "Gravity"); if (GUI.Button(new Rect(300f, 200f, 150f, 50f), "AlignOption:" + str2)) { currentAlignmentIndex = (currentAlignmentIndex + 1) % 3; } string str3 = (currentPlaneIndex != 0) ? "None" : "Horizontal"; if (GUI.Button(new Rect(500f, 200f, 150f, 50f), "PlaneOption:" + str3)) { currentPlaneIndex = (currentPlaneIndex + 1) % 2; } }
private void Start() { Application.targetFrameRate = 60; m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); ARKitSessionConfiguration config = default(ARKitSessionConfiguration); config.alignment = UnityARAlignment.UnityARAlignmentGravity; config.getPointCloudData = true; config.enableLightEstimation = true; m_session.RunWithConfig(config); if (m_camera == null) { m_camera = Camera.main; } }
// Use this for initialization void Start() { #if !UNITY_EDITOR //Application.targetFrameRate = 60; m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); ARKitSessionConfiguration config = new ARKitSessionConfiguration(); config.alignment = UnityARAlignment.UnityARAlignmentGravity; config.getPointCloudData = true; config.enableLightEstimation = true; m_session.RunWithConfig(config); if (m_camera == null) { m_camera = Camera.main; } #endif }
// Use this for initialization void Start() { m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); #if !UNITY_EDITOR //iOS tracking = TrackingType.TrackerCalibration; Application.targetFrameRate = 60; ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration(); //config.planeDetection = planeDetection; //config.startAlignment = false; //config.getPointCloudData = false; //config.enableLightEstimation = false; m_session.RunWithConfig(config); if (m_camera == null) { m_camera = Camera.main; } #else //UNITY EDITOR tracking = TrackingType.HeadsetRelay; //tracking = TrackingType.TrackerCalibration; ARKitSessionConfiguration sessionConfig = new ARKitSessionConfiguration(startAlignment, true, true); m_session.RunWithConfig(sessionConfig); //put some defaults so that it doesnt complain UnityARCamera scamera = new UnityARCamera(); scamera.worldTransform = new UnityARMatrix4x4(new Vector4(1, 0, 0, 0), new Vector4(0, 1, 0, 0), new Vector4(0, 0, 1, 0), new Vector4(0, 0, 0, 1)); Matrix4x4 projMat = Matrix4x4.Perspective(fovAngle, 1.33f, 0.1f, farClipDist); scamera.projectionMatrix = new UnityARMatrix4x4(projMat.GetColumn(0), projMat.GetColumn(1), projMat.GetColumn(2), projMat.GetColumn(3)); UnityARSessionNativeInterface.SetStaticCamera(scamera); #endif }