Esempio n. 1
0
 /// <summary>
 /// Cleans up the component.
 /// </summary>
 void OnDestroy()
 {
     MagicLeapDevice.UnregisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
     MLInput.OnControllerTouchpadGestureStart -= OnTouchpadGestureStart;
     MLInput.OnTriggerDown          -= OnTriggerDown;
     MLInput.OnControllerButtonDown -= OnButtonDown;
 }
Esempio n. 2
0
        /// <summary>
        /// Clean up
        /// </summary>
        void OnDestroy()
        {
            foreach (MLPersistentBehavior pointBehavior in _pointBehaviors)
            {
                if (pointBehavior != null)
                {
                    RemoveContentListeners(pointBehavior);
                    Destroy(pointBehavior.gameObject);
                }
            }

            if (MLPersistentCoordinateFrames.IsStarted)
            {
                MLPersistentCoordinateFrames.Stop();
            }

            if (MLPersistentStore.IsStarted)
            {
                MLPersistentStore.Stop();
            }

            MLInput.OnControllerButtonDown              -= HandleControllerButtonDown;
            MLInput.OnControllerTouchpadGestureStart    -= HandleTouchpadGestureStart;
            MLInput.OnControllerTouchpadGestureContinue -= HandleTouchpadGestureContinue;
            MLInput.OnControllerTouchpadGestureEnd      -= HandleTouchpadGestureEnd;
            MagicLeapDevice.UnregisterOnHeadTrackingMapEvent(HandleHeadTrackingMapEvent);
        }
Esempio n. 3
0
 void Awake()
 {
     MLInput.OnControllerButtonDown += OnButtonDown;
     MagicLeapDevice.RegisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
     cursorObject = Instantiate(m_PlacedPrefab, new Vector3(0.0f, 0.0f, 0.0f), new Quaternion(0.0f, 0.0f, 0.0f, 0.0f));
     _camera      = Camera.main;
 }
        /// <summary>
        /// Destroys all planes instances created
        /// </summary>
        void OnDestroy()
        {
            MagicLeapDevice.UnregisterOnHeadTrackingMapEvent(HandleOnHeadTrackingMapEvent);

            DestroyPlanes();
            DestroyBoundaries();
        }
Esempio n. 5
0
        /// <summary>
        /// Initializes component data and starts MLInput.
        /// </summary>
        void Awake()
        {
            if (_mlSpatialMapper == null)
            {
                Debug.LogError("Error: MeshingExample._mlSpatialMapper is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_meshingVisualizer == null)
            {
                Debug.LogError("Error: MeshingExample._meshingVisualizer is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_controllerConnectionHandler == null)
            {
                Debug.LogError("Error MeshingExample._controllerConnectionHandler not set, disabling script.");
                enabled = false;
                return;
            }

            _renderModeCount = System.Enum.GetNames(typeof(MeshingVisualizer.RenderMode)).Length;

            _camera = Camera.main;

            MLInput.OnControllerButtonDown           += OnButtonDown;
            MLInput.OnTriggerDown                    += OnTriggerDown;
            MLInput.OnControllerTouchpadGestureStart += OnTouchpadGestureStart;
            MagicLeapDevice.RegisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
        }
Esempio n. 6
0
        void Awake()
        {
            MagicLeapDevice.RegisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);

            _planesComponent  = GetComponent <Planes>();
            _planesVisualizer = GetComponent <PlaneVisualizer>();

            _camera = Camera.main;
        }
Esempio n. 7
0
        /// <summary>
        /// Validate properties. Attach event listener to when privileges are granted
        /// on Awake because the privilege requester requests on Start.
        /// </summary>
        void Awake()
        {
            if (_content == null || _content.GetComponent <MLPersistentBehavior>() == null)
            {
                Debug.LogError("Error: PersistenceExample._content is not set or is missing MLPersistentBehavior behavior, disabling script.");
                enabled = false;
                return;
            }

            if (_destroyedContentEffect == null)
            {
                Debug.LogError("Error: PersistenceExample._destroyedContentEffect is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_controller == null)
            {
                Debug.LogError("Error: PersistenceExample._controller is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_statusText == null)
            {
                Debug.LogError("Error: PersistenceExample._statusText is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_countCreatedText == null)
            {
                Debug.LogError("Error: PersistenceExample._countCreatedText is not set, disabling script.");
                enabled = false;
                return;
            }
            _countCreatedTextFormat = _countCreatedText.text;
            _countCreatedText.text  = string.Format(_countCreatedTextFormat, _countCreatedGood, _countCreatedBad);

            if (_countRestoredText == null)
            {
                Debug.LogError("Error: PersistenceExample._countRestoredText is not set, disabling script.");
                enabled = false;
                return;
            }
            _countRestoredTextFormat = _countRestoredText.text;
            _countRestoredText.text  = string.Format(_countRestoredTextFormat, _countRestoredGood, _countRestoredBad);

            _statusText.text = "Status: Requesting Privileges";
            MagicLeapDevice.RegisterOnHeadTrackingMapEvent(HandleHeadTrackingMapEvent);
        }
Esempio n. 8
0
    private void UpdateWorldScale()
    {
        // Update the world scale on the main camera's parent.
        _camera.transform.parent.localScale = new Vector3(_scale, _scale, _scale);

        // Calculate the updated clip distances based on the world scale.
        float worldScale = _camera.transform.parent.lossyScale.x;

        // Assumes the original clip distances are in meters.
        _camera.nearClipPlane = _originalNearClipDistance * worldScale;
        _camera.farClipPlane  = _originalFarClipDistance * worldScale;

        // Notify the MagicLeapDevice the scale has changed.
        MagicLeapDevice.UpdateWorldScale();
    }
Esempio n. 9
0
        private void Awake()
        {
            _renderes = new List <MeshRenderer>
            {
                LeftIndexTip.gameObject.GetComponent <MeshRenderer>(),
                LeftThumbTip.gameObject.GetComponent <MeshRenderer>(),
                LeftPinkyTip.gameObject.GetComponent <MeshRenderer>(),
                LeftCenter.gameObject.GetComponent <MeshRenderer>(),
                LeftWrist.gameObject.GetComponent <MeshRenderer>(),
                RightIndexTip.gameObject.GetComponent <MeshRenderer>(),
                RightThumbTip.gameObject.GetComponent <MeshRenderer>(),
                RightPinkyTip.gameObject.GetComponent <MeshRenderer>(),
                RightCenter.gameObject.GetComponent <MeshRenderer>(),
                RightWrist.gameObject.GetComponent <MeshRenderer>()
            };

            if (!MagicLeapDevice.IsReady())
            {
                Debug.LogWarning("Disabling MagicBubbles.Scripts.HandTracking because MagicLeapDevice wasn't ready.");
                enabled = false;
                return;
            }

            var result = MLHands.Start();

            if (!result.IsOk)
            {
                Debug.LogWarning("Disabling MagicBubbles.Scripts.HandTracking because MLHands didn't start.");
                enabled = false;
                return;
            }

            _gestures    = new MLHandKeyPose[4];
            _gestures[0] = MLHandKeyPose.Finger;
            _gestures[1] = MLHandKeyPose.OpenHandBack;
            _gestures[2] = MLHandKeyPose.Fist;
            _gestures[3] = MLHandKeyPose.Pinch;

            MLHands.KeyPoseManager.EnableKeyPoses(_gestures, true);

            _leftFingerCollider  = LeftIndexTip.gameObject.GetComponent <SphereCollider>();
            _leftCenterCollider  = LeftCenter.gameObject.GetComponent <MeshCollider>();
            _rightFingerCollider = RightIndexTip.gameObject.GetComponent <SphereCollider>();
            _rightCenterCollider = RightCenter.gameObject.GetComponent <MeshCollider>();
        }
Esempio n. 10
0
        private void Awake()
        {
            _telekinesis = EyeGaze.GetComponent <TelekinesisController>();
            _gazeRay     = EyeGaze.GetComponent <LineRenderer>();
            _gazeBall    = EyeGaze.GetComponentInChildren <MeshRenderer>();

            if (!MagicLeapDevice.IsReady())
            {
                Debug.LogWarning("Disabling MagicBubbles.Scripts.EyeTracking because MagicLeapDevice wasn't ready.");
                return;
            }

            MLEyes.Start();
            if (!MLEyes.IsStarted)
            {
                Debug.LogWarning("Disabling MagicBubbles.Scripts.EyeTracking because MLEyes didn't start.");
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Initializes all variables and makes sure needed components exist
        /// </summary>
        void Awake()
        {
            if (PlaneVisualPrefab == null)
            {
                Debug.LogError("Error: PlanesVisualizer.PlaneVisualPrefab is not set, disabling script.");
                enabled = false;
                return;
            }

            if (WallMaterial == null || FloorMaterial == null || CeilingMaterial == null || DefaultMaterial == null || BorderMaterial == null)
            {
                Debug.LogError("Error: PlanesVisualizer.Materials is not set, disabling script.");
                enabled = false;
                return;
            }

            MeshRenderer planeRenderer = PlaneVisualPrefab.GetComponent <MeshRenderer>();

            if (planeRenderer == null)
            {
                Debug.LogError("Error: PlanesVisualizer MeshRenderer component not found, disabling script.");
                enabled = false;
                return;
            }

            /*
             * if (_renderModeText == null)
             * {
             *  Debug.LogError("Error: PlanesVisualizer._renderModeText is not set, disabling script.");
             *  enabled = false;
             *  return;
             * }*/

            MagicLeapDevice.RegisterOnHeadTrackingMapEvent(HandleOnHeadTrackingMapEvent);

            _planesParent = new GameObject();
            _planeCache   = new List <GameObject>();
            _planeFlags   = new List <uint>();

            _boundariesParent = new GameObject();
            _boundariesCache  = new List <BoundariesCache>();

            UpdateStatusText();
        }
        /// <summary>
        /// Check editor set variables for null references.
        /// </summary>
        void Awake()
        {
            if (_numberOfPlanesText == null)
            {
                Debug.LogError("Error: PlanesExample._numberOfPlanesText is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_numberOfBoundariesText == null)
            {
                Debug.LogError("Error: PlanesExample._numberOfBoundariesText is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_boundedExtentsText == null)
            {
                Debug.LogError("Error: PlanesExample._boundedExtentsText is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_boundsWireframeCube == null)
            {
                Debug.LogError("Error: PlanesExample._boundsWireframeCube is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_controllerConnectionHandler == null)
            {
                Debug.LogError("Error: PlanesExample._controllerConnectionHandler is not set, disabling script.");
                enabled = false;
                return;
            }

            MLInput.OnControllerButtonDown += OnButtonDown;
            MagicLeapDevice.RegisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);

            _planesComponent = GetComponent <Planes>();
            _camera          = Camera.main;
        }
Esempio n. 13
0
        /// <summary>
        /// Initializes variables and makes sure needed components exist.
        /// </summary>
        void Awake()
        {
            MLInput.OnControllerButtonDown += OnButtonDown;
            MagicLeapDevice.RegisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
            _camera = Camera.main;
            // Check if the Layer is set to Default and disable any child colliders.
            if (gameObject.layer == LayerMask.NameToLayer("Default"))
            {
                Collider[] colliders = GetComponentsInChildren <Collider>();

                // Disable any active colliders.
                foreach (Collider collider in colliders)
                {
                    collider.enabled = false;
                }

                // Warn user if any colliders had to be disabled.
                if (colliders.Length > 0)
                {
                    Debug.LogWarning("Colliders have been disabled on this RaycastVisualizer.\nIf this is undesirable, change this object's layer to something other than Default.");
                }
            }

            if (_raycast == null)
            {
                Debug.LogError("Error: RaycastVisualizer._raycast is not set, disabling script.");
                enabled = false;
                return;
            }

            _render = GetComponent <Renderer>();
            if (_render == null)
            {
                Debug.LogError("Error: RaycastVisualizer._render is not set, disabling script.");
                enabled = false;
                return;
            }
            _color = _render.material.color;
        }
Esempio n. 14
0
        /// <summary>
        /// Assure that if the 'WorldReconstruction' privilege is missing, then it is logged for all users
        /// </summary>
        private IEnumerator LogWorldReconstructionMissingPrivilege()
        {
            yield return(new WaitUntil(() => MagicLeapDevice.IsReady()));

            MLResult result = MLPrivileges.Start();

            if (result.IsOk)
            {
                result = MLPrivileges.CheckPrivilege(MLPrivilegeId.WorldReconstruction);
                if (result.Code != MLResultCode.PrivilegeGranted)
                {
                    Debug.LogErrorFormat("Error: Unable to create Mesh Subsystem due to missing 'WorldReconstruction' privilege. Please add to manifest. Disabling script.");
                    enabled = false;
                }
                MLPrivileges.Stop();
            }

            else
            {
                Debug.LogErrorFormat("Error: MeshingExample failed starting MLPrivileges. Reason: {0}", result);
            }

            yield return(null);
        }
Esempio n. 15
0
 private void Awake()
 {
     if (mlSpatialMapper == null)
     {
         Debug.LogError("Error: Meshing._mlSpatialMapper is not set, disabling script.");
         enabled = false;
         return;
     }
     if (meshingVisualizer == null)
     {
         Debug.LogError("Error: Meshing._meshingVisualizer is not set, disabling script.");
         enabled = false;
         return;
     }
     if (controllerConnectionHandler == null)
     {
         Debug.LogError("Error Meshing._controllerConnectionHandler not set, disabling script.");
         enabled = false;
         return;
     }
     mainCamera = Camera.main;
     MagicLeapDevice.RegisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
     MLInput.OnControllerTouchpadGestureStart += OnTouchpadGestureStart;
 }
Esempio n. 16
0
 private void OnDestroy()
 {
     MagicLeapDevice.UnregisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
     MLInput.OnControllerTouchpadGestureStart -= OnTouchpadGestureStart;
 }
Esempio n. 17
0
 void OnDestroy()
 {
     MagicLeapDevice.UnregisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
     MLInput.OnControllerButtonDown -= OnButtonDown;
 }
Esempio n. 18
0
 /// <summary>
 /// Cleans up the component.
 /// </summary>
 void OnDestroy()
 {
     MagicLeapDevice.UnregisterOnHeadTrackingMapEvent(OnHeadTrackingMapEvent);
 }