// Use this for initialization void Start() { m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); #if !UNITY_EDITOR Application.targetFrameRate = 60; ARKitWorldTackingSessionConfiguration config = new ARKitWorldTackingSessionConfiguration(); config.planeDetection = UnityARPlaneDetection.Horizontal; config.alignment = UnityARAlignment.UnityARAlignmentGravity; config.getPointCloudData = true; config.enableLightEstimation = true; m_session.RunWithConfig(config); if (m_camera == null) { m_camera = Camera.main; } #else //put some defaults so that it doesnt complain float aspect = (float)Screen.width / (float)Screen.height; 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(60.0f, aspect, 0.1f, 30.0f); scamera.projectionMatrix = new UnityARMatrix4x4(projMat.GetColumn(0), projMat.GetColumn(1), projMat.GetColumn(2), projMat.GetColumn(3)); UnityARSessionNativeInterface.SetStaticCamera(scamera); #endif }
void Start() { m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); #if !UNITY_EDITOR Application.targetFrameRate = 60; ARKitWorldTackingSessionConfiguration config = new ARKitWorldTackingSessionConfiguration(); config.planeDetection = UnityARPlaneDetection.Horizontal; config.alignment = UnityARAlignment.UnityARAlignmentGravity; config.getPointCloudData = true; config.enableLightEstimation = true; m_session.RunWithConfig(config); if (m_camera == null) { m_camera = Camera.main; } #else //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(60.0f, 1.33f, 0.1f, 30.0f); scamera.projectionMatrix = new UnityARMatrix4x4(projMat.GetColumn(0), projMat.GetColumn(1), projMat.GetColumn(2), projMat.GetColumn(3)); UnityARSessionNativeInterface.SetStaticCamera(scamera); #endif initRotation = handler.initRotation; initPosition = handler.initPosition; Vuforia.TrackerManager.Instance.GetTracker <Vuforia.ObjectTracker>().Stop(); //Vuforia.VuforiaBehaviour.Instance.enabled = false; m_camera.transform.localPosition = initPosition; sin = Mathf.Sin(Mathf.Deg2Rad * initRotation.eulerAngles.y); cos = Mathf.Cos(Mathf.Deg2Rad * initRotation.eulerAngles.y); }
private void Start() { #if UNITY_EDITOR // Disable AR in editor if (Camera.main != null) { Camera.main.clearFlags = CameraClearFlags.Color; UnityARVideo arVideo = Camera.main.GetComponent <UnityARVideo>(); if (arVideo != null) { arVideo.enabled = false; } Transform parent = Camera.main.transform.parent; if (parent != null) { UnityARCameraManager arCameraManager = parent.GetComponentInChildren <UnityARCameraManager>(); if (arCameraManager != null) { arCameraManager.enabled = false; } } } AR3DOFCameraManager ar3dof = GetComponent <AR3DOFCameraManager>(); if (ar3dof != null) { ar3dof.enabled = false; } #endif // Initialize the game object we'll use to // represent plane anchors if (planePrefab != null) { UnityARUtility.InitializePlanePrefab(planePrefab); } // Initialize the anchor manager mUnityARAnchorManager = new UnityARAnchorManager(); // Start the AR kit session ARKitWorldTackingSessionConfiguration sessionConfig = new ARKitWorldTackingSessionConfiguration( UnityARAlignment.UnityARAlignmentCamera, UnityARPlaneDetection.Horizontal ); sessionConfig.enableLightEstimation = true; UnityARSessionRunOption sessionRunOptions = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking; UnityARSessionNativeInterface.GetARSessionNativeInterface().Pause(); // Stops current run UnityARSessionNativeInterface.GetARSessionNativeInterface().RunWithConfigAndOptions(sessionConfig, sessionRunOptions); }
// Use this for initialization void Start() { #if !UNITY_EDITOR Application.targetFrameRate = 60; m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); ARKitWorldTackingSessionConfiguration config = new ARKitWorldTackingSessionConfiguration(); config.planeDetection = UnityARPlaneDetection.Horizontal; config.alignment = UnityARAlignment.UnityARAlignmentGravity; config.getPointCloudData = true; config.enableLightEstimation = true; m_session.RunWithConfig(config); if (m_camera == null) { m_camera = Camera.main; } #endif }
/// <summary> /// Awake is called when the script instance is being loaded. /// </summary> void Awake() { _camera = GetComponent <Camera>(); // Store initial values _initialPosition = transform.localPosition; _initialRotation = transform.localRotation; // Refresh at the maximum possible speed Application.targetFrameRate = 60; // Setup ARKit tracking _session = UnityARSessionNativeInterface.GetARSessionNativeInterface(); ARKitWorldTackingSessionConfiguration config = new ARKitWorldTackingSessionConfiguration(); config.planeDetection = UnityARPlaneDetection.Horizontal; config.alignment = UnityARAlignment.UnityARAlignmentGravity; config.getPointCloudData = true; config.enableLightEstimation = false; _session.RunWithConfig(config); // Start anchor manager _anchorManager = new UnityARAnchorManager(); // Disable native VR tracking VRDevice.DisableAutoVRCameraTracking(_camera, true); }