- Home /
Controlling MouseLook script with keys/joystick
Hi,
I'm having trouble getting my fps character to look around with my controller. I've tried mapping the horizontal/vertical input to the joystick's x/y axis but unity doesnt seem to register the stick moving. I've checked in Window's game controller config that the controller is working properly so can only assume it's unity not working somewhere.
My controller's joystick can interpret key presses so thought i would modify the MouseLook script so it used keys on the keyboard instead. It works great for panning the camera but doesn't register when the key isn't being pressed so keeps moving. is there a line of code I can add that will tell the camera only move when unity is receiving input from the user? Or is there another way I can get my controller and Unity talking properly via the x/y axis or key presses??
Any help is much appreciated.
Answer by LSnake2001 · Oct 30, 2010 at 10:19 AM
var xSpeed = 250.0; var ySpeed = 120.0;
var yMinLimit = -20; var yMaxLimit = 80;
private var x = 0.0; private var y = 0.0;
@script AddComponentMenu("Camera-Control/Mouse Orbit")
function Start () { var angles = transform.eulerAngles; x = angles.y; y = angles.x;
// Make the rigid body not change rotation
if (rigidbody)
rigidbody.freezeRotation = true;
}
function LateUpdate () {
x += Input.GetAxis("LookX") * xSpeed * 0.02;
y -= Input.GetAxis("LookY") * ySpeed * 0.02;
y = ClampAngle(y, yMinLimit, yMaxLimit);
var rotation = Quaternion.Euler(y, x, 0);
transform.rotation = rotation;
}
static function ClampAngle (angle : float, min : float, max : float) { if (angle < -360) angle += 360; if (angle > 360) angle -= 360; return Mathf.Clamp (angle, min, max);
I managed to get this working by modifying the MouseOrbit script and having an input mapped to w, a, s, d. Duh.
Your answer
Follow this Question
Related Questions
Problems with joystick / controller axes being 1/-1 "way too often" 1 Answer
How do I check what input device is currently beeing used? 4 Answers
problems moving game object with the right joystick 1 Answer
Using Input.GetJoystickNames 1 Answer
How do I make the Joystick Analog Stick work like the Mouse Input? 0 Answers