- Home /
Why does my camera still rotate in the opposite way?
First off I'm a complete newbie and do not know much about Unity or scripting. With that being said I am trying to implement a camera that will rotate on my player on the x axis when i press the a or d key with a being negative and d being positive. The problem arises when I press a say 5 times, the camera will rotate left 5 times which is great. But when I press d 5 times it keeps rotating to the left instead of rotating to the right like I want. I've realized that it's because the rotation angle is still negative. So my thinking of how to fix this would be to reset horizontal in my code to 0 before every time I rotate the angle. This does not work. I'm sure I'm just being a noob and their is an easy fix for this but if anyone could help I'd greatly appreciate it. Thanks.
using System;
using UnityEngine;
public class CopiedCamera: MonoBehaviour
{
public GameObject target;
public float rotateSpeed = 5;
public Vector3 offset;
void start()
{
}
void LateUpdate()
{
//Possible reason the camera still pans the wrong way is because the angle is still positive or negative
//When a has been pressed needs to be a negative angle being applied
//When d has been pressed needs to be a positive angle being applied
//float horizontal = Input.GetAxis ("CameraRightLeft") * rotateSpeed;
float horizontal;
if (Input.GetKeyUp("a"))
{
horizontal = 0.0f;
Debug.Log ("in if");
horizontal = Input.GetAxis ("CameraRightLeft") * rotateSpeed;
Debug.Log ("horizontal is: " + horizontal);
target.transform.Rotate (0, horizontal, 0);
}
if (Input.GetKeyUp ("d"))
{
horizontal = 0.0f;
Debug.Log ("in 2if");
horizontal = Input.GetAxis ("CameraRightLeft") * rotateSpeed;
Debug.Log ("horizontal is: " + horizontal);
target.transform.Rotate (0, horizontal, 0);
}
float desiredAngle = target.transform.eulerAngles.y;
Quaternion rotation = Quaternion.Euler (0, desiredAngle, 0);
transform.position = target.transform.position - (rotation * offset);
Debug.Log ("transform position: " + transform.position);
transform.LookAt (target.transform);
}
}
Your answer
Follow this Question
Related Questions
Rotation glitch with camera 1 Answer
rotate the camera in the z axis 1 Answer
Camera rotation on mouse drag? 2 Answers
RTS Camera movement wrong after rotation 1 Answer
move the object where camera look 0 Answers