// Update is called once per frame void FixedUpdate() { //Debug.Log(getLeverRotate(Lever.transform.localEulerAngles.y)); if (SteeringWheelStick) // STEERING WHEEL CONTROLLER { WheelController.Hand = GameObject.Find(transform.parent.name); RealHand.SetActive(false); HandOnSteering.SetActive(true); WheelController.OnStick(VRJoystickTracker, HandOnSteering); } if (!VRJoystickTracker.triggerPressed) // UNSTICK EVERYTHING { unstickEveryThing(); } if (ConrolStickLever) // CONTROL LEVER CONTROLLER { RealHand.SetActive(false); HandOnControl.SetActive(true); Lever.transform.localEulerAngles = new Vector3(0, transform.parent.localEulerAngles.y - RotateWhenPicked, 0); ControlleverTopRelative = ControlLeverTop.transform.InverseTransformPoint(transform.position); ControlleverAnimator.SetFloat("Blend Z", ControlleverTopRelative.z / 2); ControlleverAnimator.SetFloat("Blend X", ControlleverTopRelative.x / 2); } if (!ConrolStickLever) { // UNSTICK CNROL LEVER ControlLeverLastX = ControlleverAnimator.GetFloat("Blend X"); ControlleverPosX = Mathf.Lerp(ControlLeverLastX, 0, Time.time / 150); ControlleverAnimator.SetFloat("Blend X", ControlleverPosX); ControlLeverLastY = ControlleverAnimator.GetFloat("Blend Z"); ControlleverPosY = Mathf.Lerp(ControlLeverLastY, 0, Time.time / 150); ControlleverAnimator.SetFloat("Blend Z", ControlleverPosY); } if (AcceleratelStickLever) // ACCELERATE LEVER CONTROLLER { RealHand.SetActive(false); HandOnAccel.SetActive(true); AcceleratorleverTopRelative = AcceleratelLeverTop.transform.InverseTransformPoint(transform.position); AcceleratorLeverAnimator.SetFloat("Blend X", -(AcceleratorleverTopRelative.z / 40)); } if (!AcceleratelStickLever) { // UNSTICK ACELERATE LEVER AccelerateLeverLastX = AcceleratorLeverAnimator.GetFloat("Blend X"); AccelerateleverPosX = Mathf.Lerp(AccelerateLeverLastX, 0, Time.time / 150); AcceleratorLeverAnimator.SetFloat("Blend X", AccelerateleverPosX); } }
// Update is called once per frame void FixedUpdate() { if (SteeringWheelStick) // STEERING WHEEL CONTROLLER { if (!WheelController.Hand) { WheelController.Hand = gameObject; // CHECK IF ALREADY HAND GRABBED } WheelController.OnStick(VRJoystickTracker); } if (!VRJoystickTracker.triggerPressed) // UNSTICK EVERYTHING { UnstickEveryThing(); } if (ConrolStickLever) // CONTROL LEVER CONTROLLER { ControlleverTopRelative = ControlLeverTop.transform.InverseTransformPoint(transform.position); ControlleverAnimator.SetFloat("Blend Z", ControlleverTopRelative.z / 2); if (ControlleverAnimator.GetFloat("Blend Z") < 4.5f && ControlleverAnimator.GetFloat("Blend Z") > -4.5f) { joystickOutput.joyPitch = ControlleverAnimator.GetFloat("Blend Z"); } ControlleverAnimator.SetFloat("Blend X", ControlleverTopRelative.x / 2); if (ControlleverAnimator.GetFloat("Blend X") < 4.5f && ControlleverAnimator.GetFloat("Blend X") > -4.5f) { joystickOutput.joyRoll = ControlleverAnimator.GetFloat("Blend X"); } if (transform.localEulerAngles.y - RotateWhenPicked <= 60 && transform.localEulerAngles.y - RotateWhenPicked >= -60) { joystickOutput.joyYaw = transform.localEulerAngles.y - RotateWhenPicked; Lever.transform.localEulerAngles = new Vector3(0, transform.localEulerAngles.y - RotateWhenPicked, 0); } } if (!ConrolStickLever && ControlleverAnimator) { // UNSTICK CNROL LEVER ControlLeverLastX = ControlleverAnimator.GetFloat("Blend X"); ControlleverPosX = Mathf.Lerp(ControlLeverLastX, 0, Time.time / 150); ControlleverAnimator.SetFloat("Blend X", ControlleverPosX); joystickOutput.joyRoll = ControlleverPosX; joystickOutput.joyYaw = 0; ControlLeverLastZ = ControlleverAnimator.GetFloat("Blend Z"); ControlleverPosY = Mathf.Lerp(ControlLeverLastZ, 0, Time.time / 150); ControlleverAnimator.SetFloat("Blend Z", ControlleverPosY); joystickOutput.joyPitch = ControlleverPosY; } if (AcceleratelStickLever) // ACCELERATE LEVER CONTROLLER { AcceleratorleverTopRelative = AcceleratelLeverTop.transform.InverseTransformPoint(transform.position); AcceleratorLeverAnimator.SetFloat("Blend X", -(AcceleratorleverTopRelative.z / 40) + AccelerateLeverLastBlend); if (AcceleratorLeverAnimator.GetFloat("Blend X") > 0 && AcceleratorLeverAnimator.GetFloat("Blend X") < 0.5f) { if (acceleratorOutPut.withNegative) { acceleratorOutPut.accelAxis = (AcceleratorLeverAnimator.GetFloat("Blend X") * 4) - 1f; } else { acceleratorOutPut.accelAxis = (AcceleratorLeverAnimator.GetFloat("Blend X") * 2); } } } if (!AcceleratelStickLever && AcceleratorLeverAnimator) { // UNSTICK ACELERATE LEVER NormalizeAcceleratorBlend(); acceleratorOutPut = null; } }