你们知道我的Y旋转为什么不会改变吗?

时间:2020-10-01 17:11:40

标签: c# unity3d rotation

我正在尝试用统一的C#制作fps射击游戏,但是我用来改变Y旋转角度的任何功能都不会移动。 我第一次对其进行测试,但是在处理了与此脚本无关的其他内容后一个小时,却突然没有了。我尝试了.Rotate(),localRotation,Quaternion.Eulern,但它什么都没有动。我还检查了一下是否是因为未设置我正在使用的变量,但这是因为。

请帮助!

float mouseX = Input.GetAxis("Mouse X") * Sensitivity * Time.deltaTime;
    float mouseY = Input.GetAxis("Mouse Y") * Sensitivity * Time.deltaTime;
    
    xRotation -= mouseY;
    xRotation = Mathf.Clamp(xRotation, -90f,90f);
    
    //x
    Debug.Log(mouseX);
    player.rotation = Quaternion.Euler(0,mouseX,0);
    transform.rotation = Quaternion.Euler(0,mouseX,0);
    
    //y
    
    transform.localRotation = Quaternion.Euler(xRotation,0,0);

1 个答案:

答案 0 :(得分:0)

xRotation-= mouseY;您将从鼠标X旋转中减去鼠标Y旋转,X和Y是不同的轴!请查阅轮换教程,例如: https://answers.unity.com/questions/288948/rotate-around-local-y-axis.html