I followed this tutorial on youtube on how to connect your controller to unity via coding:
now everything works fine, however it only reads one button at a time, meaning that i can either rotate or move but not at the same time. For anyone wondering this is the code i attached to the player object:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Controller : MonoBehaviour {
public float speed = 18;
public float turnSpeed = 60;
private Rigidbody rig;
private Vector3 spawnPoint;
// Use this for initialization
void Start () {
rig = GetComponent<Rigidbody>();
spawnPoint = transform.position;
}
// Update is called once per frame
void Update()
{
float hAxis = Input.GetAxis("Horizontal");
float vAxis = Input.GetAxis("Vertical");
float rStickX = Input.GetAxis("Mouse X");
Vector3 movement = transform.TransformDirection(new Vector3(hAxis, 0, vAxis) * speed * Time.deltaTime);
rig.MovePosition(transform.position + movement);
Quaternion rotation = Quaternion.Euler(new Vector3(0, rStickX, 0) * turnSpeed * Time.deltaTime);
transform.Rotate(new Vector3(0, rStickX, 0), turnSpeed * Time.deltaTime);
if (transform.position.y < -10f)
{
transform.position = spawnPoint;
}
}
}
if anyone knows what could cause this problem all help is appreciated
p.s. i’m kinda new to coding and unity so expect me to know almost nothing about this :$,I followed this tutorial on youtube on how to connect your controller to unity via coding: How To Use Xbox 360 Controls In Your Unity® Game | Files Included - YouTube
now everything works fine, however it only reads one button at a time, meaning that i can either rotate or move but not both at the same time. For anyone wondering this is the code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Controller : MonoBehaviour {
public float speed = 18;
public float turnSpeed = 60;
private Rigidbody rig;
private Vector3 spawnPoint;
// Use this for initialization
void Start () {
rig = GetComponent<Rigidbody>();
spawnPoint = transform.position;
}
// Update is called once per frame
void Update()
{
float hAxis = Input.GetAxis("Horizontal");
float vAxis = Input.GetAxis("Vertical");
float rStickX = Input.GetAxis("Mouse X");
Vector3 movement = transform.TransformDirection(new Vector3(hAxis, 0, vAxis) * speed * Time.deltaTime);
rig.MovePosition(transform.position + movement);
Quaternion rotation = Quaternion.Euler(new Vector3(0, rStickX, 0) * turnSpeed * Time.deltaTime);
transform.Rotate(new Vector3(0, rStickX, 0), turnSpeed * Time.deltaTime);
if (transform.position.y < -10f)
{
transform.position = spawnPoint;
}
}
}
if anyone knows what could cause this problem all help is appreciated
p.s. i’m kinda new to coding and unity so expect me to know almost nothing about this