- Home /
Mouselook rotate around two axis.
I have made a mouselook script for First person but i can only rotate aroun y or x axis depending on what i have set in the inspector. What do i need to add or change in my script to make it work on both axis?
public enum rotation_axis {
mouse_x = 0 , mouse_y = 1
}
public rotation_axis rot_xy = rotation_axis.mouse_x | rotation_axis.mouse_y;
// X-Axis
public float sensitivity_x = 400;
public float minimum_x = -360;
public float maximum_x = 360;
float rotation_x = 0;
// Y -axis
public float sensitivity_y = 400;
public float minimum_y = -360;
public float maximum_y = 360;
float rotation_y = 0;
// Rotation
public Quaternion original_rotation;
// Use this for initialization
void Start () {
original_rotation = transform.localRotation;
}
// Update is called once per frame
void Update () {
if(rot_xy == rotation_axis.mouse_x){
rotation_x += Input.GetAxis("Mouse X") * sensitivity_x * Time.deltaTime;
Quaternion x_quaternion = Quaternion.AngleAxis(rotation_x , Vector3.up);
transform.localRotation = original_rotation * x_quaternion;
}
if(rot_xy == rotation_axis.mouse_y){
rotation_y += Input.GetAxis("Mouse Y") * sensitivity_y * Time.fixedDeltaTime;
Quaternion y_quaternion = Quaternion.AngleAxis(rotation_y , Vector3.right);
transform.localRotation = original_rotation * y_quaternion;
}
}
Comment
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Unity's mouse look causing movement issues 1 Answer
C# How do I toggle MouseLook in game? 1 Answer
I want to create an interactive right analog MouseLook? 0 Answers