VR Input tracking data.

        private void UpdateDevicePose()
        {
            IVRModuleDeviceState   prevState;
            IVRModuleDeviceStateRW currState;

            EnsureValidDeviceState(HEAD_INDEX, out prevState, out currState);
            if (currState.isConnected)
            {
                currState.position    = InputTracking.GetLocalPosition(XRNode.Head);
                currState.rotation    = InputTracking.GetLocalRotation(XRNode.Head);
                currState.isPoseValid = currState.pose != RigidPose.identity;
            }

            EnsureValidDeviceState(RIGHT_HAND_INDEX, out prevState, out currState);
            if (currState.isConnected)
            {
                currState.position    = m_rightArm.ControllerPositionFromHead;
                currState.rotation    = m_rightArm.ControllerRotationFromHead;
                currState.isPoseValid = m_rightDevice.Orientation != Quaternion.identity;
            }

            EnsureValidDeviceState(LEFT_HAND_INDEX, out prevState, out currState);
            if (currState.isConnected)
            {
                currState.position    = m_leftArm.ControllerPositionFromHead;
                currState.rotation    = m_leftArm.ControllerRotationFromHead;
                currState.isPoseValid = m_leftDevice.Orientation != Quaternion.identity;
            }
        }
コード例 #2
0
 public static int constructor(IntPtr l)
 {
     try {
         UnityEngine.VR.InputTracking o;
         o=new UnityEngine.VR.InputTracking();
         pushValue(l,o);
         return 1;
     }
     catch(Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return 0;
     }
 }
コード例 #3
0
 public static int constructor(IntPtr l)
 {
     try {
         UnityEngine.VR.InputTracking o;
         o=new UnityEngine.VR.InputTracking();
         pushValue(l,true);
         pushValue(l,o);
         return 2;
     }
     catch(Exception e) {
         return error(l,e);
     }
 }
コード例 #4
0
 static public int constructor(IntPtr l)
 {
     try {
         UnityEngine.VR.InputTracking o;
         o = new UnityEngine.VR.InputTracking();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
        private void UpdateDevicePose()
        {
            IVRModuleDeviceState   prevState;
            IVRModuleDeviceStateRW currState;

            EnsureValidDeviceState(HEAD_INDEX, out prevState, out currState);
            if (currState.isConnected)
            {
                currState.position    = InputTracking.GetLocalPosition(XRNode.Head);
                currState.rotation    = InputTracking.GetLocalRotation(XRNode.Head);
                currState.isPoseValid = currState.pose != RigidPose.identity;
            }

            EnsureValidDeviceState(CONTROLLER_INDEX, out prevState, out currState);
            if (currState.isConnected)
            {
                currState.position    = m_gvrArmModel.ControllerPositionFromHead;
                currState.rotation    = m_gvrArmModel.ControllerRotationFromHead;
                currState.isPoseValid = GvrControllerInput.Orientation != Quaternion.identity;
            }
        }