- Home /
Xbox 360 controller strafing problems
Hey all,
I am working on getting an Xbox 360 controller working on for my FPS game. I was able to get it to work, button press and looking with the right thumb. The problem I ham having is with the left thumb for my movement.
I inverted the Y in the input manger so when i press up i move forward and down i move backward. It works good until i move at an angle, when both axis are greater then zero. Example: when i press up and left at like at 45 degrees, my FPS controller will move back and to the left. but if i just push up my fps controller will move forward.
I looked for code to try and fix this with no luck. I tried FPSWalkerEnhanced, and it did the same thing.
I tweaked the normal FPSWalker code a lil and it help, but was a lil glitchy ( see Below)
function FixedUpdate() { if (grounded) {
var inputX = Input.GetAxis("Horizontal");
var inputY = Input.GetAxis("Vertical");
if(inputX != 0.0 && inputY != 0.0)
{
moveDirection = new Vector3(inputX, 0, -inputY);
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
}
else
{
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
}
I was wondering if anyone might know what I am doing wrong, or if there is any code out there that will work better with an xbox360 controller.
Thanks
So to understand a bit better do you want to use only the right stick to move and look simultaneously ? what I did with the controller using the 2.6 first person controller (it must be similar with 3) was to have the left stick as it is to move around (default) and for the right stick i mapped it to mouse x and mouse y without inverting anything. I just went in player preferences input and added two more mouse x and mouse y controlled by the joystick.
Answer by RadiantLWguy · Oct 16, 2010 at 04:56 AM
Hey all,
I did some research and found this site. http://roidz.weebly.com/
He made an input manager that fixed my problem. Was a lil tricky to implement into my game, but I think that is because I am still learning the whole program and scripting.
Also is up on the forums at. http://forum.unity3d.com/threads/53726-Custom-Inputmanager-v1.4-VERY-easy-to-use-now-!
Hope this helps anyone else who may have a similar problem
Your answer
Follow this Question
Related Questions
Diagonal movement speed difference with normalized vector 0 Answers
Controlling speed of diagonal navmesh movement? 0 Answers
Player moves too fast diagonally and accelerates too fast diagonally. 2 Answers
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Player moves diagonally even when not telling him to 0 Answers