Hi,
I’m making a first person game, and I am using the arrow keys to control the camera for now, and if I press multiple keys at the same time, it becomes very disorienting, and hard to get back to where you were looking. So what I need to do is limit certain rotations while the key is pressed, so the player can’t spin the camera out of control. How do I go about doing this?
Thanks in advance.
public Rigidbody rb;
public float speed;
public GameObject player;
public Quaternion currentRotation;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
//Define Axes
float forward = Input.GetAxis ("forward");
float strafe = Input.GetAxis ("strafe");
//The Vector 3 for movement
Vector3 Movement = new Vector3 (strafe, 0.0f, forward);
currentRotation = new Quaternion ();
currentRotation.Set (transform.rotation.x, transform.rotation.y, transform.rotation.z, 0.0f);
Debug.Log (currentRotation);
//Adding the force to move
rb.AddForce (Movement * speed);
#region
//Input from arrow keys, and rotations of the player
if (Input.GetKey ("right"))
{
rb.transform.Rotate(Vector3.up);
}
if (Input.GetKey ("left"))
{
rb.transform.Rotate(Vector3.down);
}
if (Input.GetKey ("up"))
{
rb.transform.Rotate(Vector3.right);
}
if (Input.GetKey ("down"))
{
rb.transform.Rotate(Vector3.left);
}
#endregion
}
}
`