- Home /
How To Get the Direction Im Facing? Im new Please Help
float num = 0;
float speed = 1.5f;
void Start () {
}
void Update()
{
if (Input.GetKey("q"))
{
if (num < 1) {
num += Time.deltaTime * speed;
transform.rotation = Quaternion.Euler (Vector3.Lerp(new Vector3(0,0,0), new Vector3(0,0,30f), num ));
}
} else {
if (num > 0) {
num -= Time.deltaTime * speed;
transform.rotation = Quaternion.Euler (Vector3.Lerp(new Vector3(0,0,0), new Vector3(0,0,30f), num ));
}
}
}
SO this code is so that when I press "Q", I will lean to the left and when im not pressing it, I will go back to normal. When I look around and then start leaning again, my view gets teleported back to facing the front position. Im assuming its because my vector is setting everything at 0. What do i replace it with so that it wont teleport my view back? Thanks ssoooooo much
For the direction you are facing I believe you can use Quaternion.identity
Answer by digiben · Feb 17, 2013 at 06:59 AM
If you want to get the forward direction, you can use transform.forward. Or transform.left, etc...
Here is the Transform docs: http://docs.unity3d.com/Documentation/ScriptReference/Transform.html
You might also want to try the TransformDirection: http://docs.unity3d.com/Documentation/ScriptReference/Transform.TransformDirection.html
If you have a rigid body you can add a force to the right, and then add a force back when you let go.
I noticed you have an else, which like you said, will get called every frame back to 0. You might do a bool that when Q is pressed, set a bool, and then if Q isn't pressed and the bool is true, then only do the force on the rigid body back in the original direction... or your right side or whatever direction you came from.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Distribute terrain in zones 3 Answers
Multiple Cars not working 1 Answer
Script doesn't enable even when enabled = true 0 Answers
Weird Edge Collider offset 0 Answers