Exemplo n.º 1
0
        /// <summary>
        /// Initialize the interaction technique. The headset start position is reset to the headsetTransform object position
        /// </summary>
        /// <param name="hdProvider">The HandProvider.</param>
        /// <param name="go">The Original SubDataset.</param>
        /// <param name="wimScale">The replicas scale</param>
        /// <param name="headsetTransform">The transform representing the head. If null, we take Camera.main.transform gameobject</param>
        public virtual void Init(HandDetectorProvider hdProvider, DefaultSubDatasetGameObject go, Vector3 wimScale, Transform headsetTransform = null)
        {
            //Hand provider
            m_hdProvider = hdProvider;

            m_original = go;

            if (headsetTransform == null)
            {
                headsetTransform = Camera.main.transform;
            }

            transform.localRotation = Quaternion.identity;
            transform.localScale    = wimScale;

            m_wim = go.CreateMiniature();
            m_wim.transform.SetParent(transform, false);
            m_wim.transform.localPosition = new Vector3(0, 0, 0);
            m_wim.transform.localRotation = go.transform.rotation;
            m_wim.transform.localScale    = new Vector3(1, 1, 1);

            HandPositionGO.transform.SetParent(null, false);
            OriginalHandPositionGO.transform.SetParent(null, false);

            //Handle gestures
            m_gestureRecognizer = new GestureRecognizer();
            m_gestureRecognizer.SetRecognizableGestures(GestureSettings.Tap);
            m_gestureRecognizer.Tapped += OnTap;
            m_gestureRecognizer.StartCapturingGestures();

            //Handle the positions
            HeadsetStartOrientation = headsetTransform.rotation;
            HeadsetStartPosition    = headsetTransform.position;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initialize the interaction technique
        /// </summary>
        /// <param name="hdProvider">The HandProvider.</param>
        /// <param name="go">The Original SubDataset.</param>
        /// <param name="headsetTransform">The transform representing the head. If null, we take Camera.main.transform gameobject</param>
        public void Init(HandDetectorProvider hdProvider, DefaultSubDatasetGameObject go, Transform headsetTransform = null)
        {
            //Hand provider
            m_hdProvider = hdProvider;

            m_original = go;

            if (headsetTransform == null)
            {
                headsetTransform = Camera.main.transform;
            }

            //Handle the transform tree
            Vector3 cameraForward = headsetTransform.forward;

            cameraForward.y         = 0;
            transform.localPosition = headsetTransform.position + new Vector3(0, -0.15f, 0) + 0.45f * cameraForward;
            transform.localRotation = Quaternion.identity;

            HandPositionGO.transform.SetParent(null, false);

            //Handle gestures
            m_gestureRecognizer = new GestureRecognizer();
            m_gestureRecognizer.SetRecognizableGestures(GestureSettings.Tap);
            m_gestureRecognizer.Tapped += OnTap;
            m_gestureRecognizer.StartCapturingGestures();

            m_headsetTransform = headsetTransform;

            HeadsetStartOrientation = headsetTransform.rotation;
            HeadsetStartPosition    = headsetTransform.position;
        }
Exemplo n.º 3
0
        public void Init(HandDetectorProvider hd)
        {
            m_hdProvider        = hd;
            m_gestureRecognizer = new GestureRecognizer();
            m_gestureRecognizer.SetRecognizableGestures(GestureSettings.Tap | GestureSettings.Hold | GestureSettings.ManipulationTranslate);
            m_gestureRecognizer.Tapped += OnTap;
            m_gestureRecognizer.StartCapturingGestures();

            HeadsetStartOrientation = m_headsetTransform.rotation;
            HeadsetStartPosition    = m_headsetTransform.position;
        }
Exemplo n.º 4
0
 public override void Init(HandDetectorProvider hdProvider, DefaultSubDatasetGameObject go, Vector3 wimScale, Transform headsetTransform = null)
 {
     base.Init(hdProvider, go, wimScale, headsetTransform);
     RayObject.transform.SetParent(null, false);
 }