I have the escape key toggling a pause menu. I’m trying to set up something where the escape key will toggle the controls of the first person controller on or off.
I am using Input.resetInputAxes in the fpc’s FPSInputController script like this:
private var motor : CharacterMotor;
internal var noInput : boolean;
private var wasLocked = false;
// Use this for initialization
function Awake () {
motor = GetComponent(CharacterMotor);
}
// Update is called once per frame
function Update () {
if (noInput) {Input.ResetInputAxes(); //************************************************
}
// Get the input vector from kayboard or analog stick
var directionVector = new Vector3(Input.GetAxis(“Horizontal”), 0, Input.GetAxis(“Vertical”));
if (directionVector != Vector3.zero) {
// Get the length of the directon vector and then normalize it
// Dividing by the length is cheaper than normalizing when we already have the length anyway
var directionLength = directionVector.magnitude;
directionVector = directionVector / directionLength;
// Make sure the length is no bigger than 1
directionLength = Mathf.Min(1, directionLength);
// Make the input vector more sensitive towards the extremes and less sensitive in the middle
// This makes it easier to control slow speeds when using analog sticks
directionLength = directionLength * directionLength;
// Multiply the normalized direction vector by the modified length
directionVector = directionVector * directionLength;
}
// Apply the direction to the CharacterMotor
motor.inputMoveDirection = transform.rotation * directionVector;
motor.inputJump = Input.GetButton("Jump");
}
function ToggleInput (state : boolean) {
noInput = state;
}
// Require a character controller to be attached to the same game object
@script RequireComponent (CharacterMotor)
@script AddComponentMenu (“Character/FPS Input Controller”)
The Input.resetInputAxes() does freeze motion in response to mouse movements left and right, and also deactivates the WASD movement keys. But game still follows mouse movements Up and Down when the pause menu is up. Any idea on how to stop it?
What do you mean the "game still follows mouse movement Up and Down." Is Input.GetAxis("Vertical") non-zero despite the ResetInputAxes() call or is there something else going on?
– robertbuI have the same issue.
– noahnuremember to turn loop pose off on the animation clip.
– KUFgoddess