- Home /
How to rotate player back to 0, 0, 0 when there is no input.
I'm currently trying to make a drifting game. In this code, I have the car rotating slightly when pressing d or a. I want the car to rotate back to 0, 0, 0 when a and d are not being pressed. I put in the if statement at the bottom to do this but now the car doesn't rotate at all. I have no idea why.
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class rotate : MonoBehaviour { float rotSpeed = 100;
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.D))
{
transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(0, 40, 0), rotSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.A))
{
transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(0, -40, 0), rotSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.D) == false || Input.GetKey(KeyCode.A))
{
transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(0, 0, 0), rotSpeed * Time.deltaTime);
}
transform.position = new Vector3(Mathf.Clamp(transform.position.x, 0, 0), transform.position.y, transform.position.z);
}
}
Answer by hola- · Oct 12, 2020 at 05:48 PM
if (Input.GetKey(KeyCode.D) == false || Input.GetKey(KeyCode.A))
//this part is the problem, as it is now it says if D is false and A is true, so it’s the same that rotates to the left
if (Input.GetKey(KeyCode.D) == false || Input.GetKey(KeyCode.A) == false)
//This should work
But anyway it is better if you use the “if else” and “else” statement
if (Input.GetKey(KeyCode.D))
{
//turn right
}
else if (Input.GetKey(KeyCode.A))
{
//turn left
}
else
{
//set rotation to 0
}
Your answer
Follow this Question
Related Questions
How to rotate camera around 3D object without breaking camera rotation 0 Answers
How can I rotate my player with a Joystick? 0 Answers
How to smoothly rotate an object on only two axes? 2 Answers
How to make a player rotate in a direction with a slope of the ground. 0 Answers
On Finger Touch and Drag Rotate 3D Ball 2 Answers