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