Beispiel #1
0
    // 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
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
            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);
            }
Beispiel #4
0
    // 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
    }
Beispiel #5
0
    /// <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);
    }