void CheckTriggerStatus() { /*** Define trigger key to fire events for different platforms ***/ #if UIKIT_OCULUS activeController = OVRInput.GetActiveController(); // Check if Oculus Rift is being used, then we need to check if button is pressed on target pointer. if (activeController == OVRInput.Controller.Touch || activeController == OVRInput.Controller.LTouch || activeController == OVRInput.Controller.RTouch) { if (pointer == Pointer.LeftHand) { triggerPressed = OVRInput.Get(trigger, OVRInput.Controller.LTouch); } else if (pointer == Pointer.RightHand) { triggerPressed = OVRInput.Get(trigger, OVRInput.Controller.RTouch); } } else { triggerPressed = OVRInput.Get(trigger); } #elif UIKIT_VIVE_STEAM_2 // Using the action system if (pointer == Pointer.LeftHand) { triggerPressed = triggerAction.GetState(SteamVR_Input_Sources.LeftHand); } else if (pointer == Pointer.RightHand) { triggerPressed = triggerAction.GetState(SteamVR_Input_Sources.RightHand); } #elif UIKIT_VIVE if (pointer == Pointer.LeftHand) { if (null == ControllerLeft) { return; } triggerPressed = ControllerLeft.GetPress(trigger); } else if (pointer == Pointer.RightHand) { if (null == ControllerRight) { return; } triggerPressed = ControllerRight.GetPress(trigger); } #else triggerPressed = Input.GetKey("space"); #endif }
//void Start () { // bulletSpawn.transform.SetParent(TrackedObjectRight.gameObject.transform, false); // bulletSpawn.transform.localPosition = Vector3.zero; // bulletSpawn.transform.localRotation = Quaternion.Euler(0, 0, 0); //} // Update is called once per frame void Update() { if (!isLocalPlayer) { return; } float x = Input.GetAxis("Horizontal") * Time.deltaTime * turnSpeed; float z = Input.GetAxis("Vertical") * Time.deltaTime * moveSpeed; transform.Rotate(0, x, 0); transform.Translate(0, 0, z); if (ControllerRight.GetHairTriggerDown()) { CmdFire(); } }
void Update() { if (cgo.locomotionSetting == 3 && !left) { if(ControllerRight.GetPress(SteamVR_Controller.ButtonMask.Touchpad)) { if (!rightPressed) previousRightTransform = new Vector3(rightController.position.x, rightController.position.y, rightController.position.z); rightPressed = true; } else { rightPressed = false; } if (ControllerLeft.GetPress(SteamVR_Controller.ButtonMask.Touchpad)) { if (!leftPressed) previousLeftTransform = new Vector3(leftController.position.x, leftController.position.y, leftController.position.z); leftPressed = true; } else { leftPressed = false; } //Current position *= Distance * Direction //where distance = (rightPos - prevRightPos).magnitude and for both, it is added. if(rightPressed && leftPressed) { /* Heading is based on where you're looking. Lets go with where the controller is pointed. Vector3 heading = headTransform.forward; heading.y = 0; heading.Normalize(); */ Vector3 heading = (rightController.forward + leftController.forward) / 2; heading.y = 0; float distance = (rightController.position - previousRightTransform).magnitude + (leftController.position - previousLeftTransform).magnitude; cameraRigTransform.position += heading * distance; previousRightTransform = new Vector3(rightController.position.x, rightController.position.y, rightController.position.z); previousLeftTransform = new Vector3(leftController.position.x, leftController.position.y, leftController.position.z); } else if(rightPressed) { Vector3 heading = rightController.forward; heading.y = 0; float distance = (rightController.position - previousRightTransform).magnitude; cameraRigTransform.position += heading * distance; previousRightTransform = new Vector3(rightController.position.x, rightController.position.y, rightController.position.z); } else if(leftPressed) { Vector3 heading = leftController.forward; heading.y = 0; float distance = (leftController.position - previousLeftTransform).magnitude; cameraRigTransform.position += heading * distance; previousLeftTransform = new Vector3(leftController.position.x, leftController.position.y, leftController.position.z); } } }