使用键盘在 z 轴上旋转相机

Rotate camera on z-axis using keyboard

我在我认为相对简单的问题上遇到了障碍。我想通过按 "Q" 和 "E" 键 "roll" z 轴上的相机。

这是我编写的代码,附加到我的相机对象:

#pragma strict

var keyboardSensitivity : float = 10.0f;
private var rotZ : float;
private var localRotation : Quaternion;

function Start () {
    rotZ = 0.0f;
}

function Update () {
    if(Input.GetKey(KeyCode.Q)) {
        rotZ += Time.deltaTime * keyboardSensitivity;
        localRotation = Quaternion.Euler(0.0f, 0.0f, rotZ);
        transform.rotation = localRotation;
    }
    if(Input.GetKey(KeyCode.E)) {
        rotZ -= Time.deltaTime * keyboardSensitivity;
        localRotation = Quaternion.Euler(0.0f, 0.0f, rotZ);
        transform.rotation = localRotation;
    } 
}

据我所知,这应该是所有需要的。但是当我按下 Q 或 E 键时,绝对没有任何反应。为什么?

没有任何反应,因为您的代码可能没有附加到相机或它附加到另一个游戏对象。它不能附加到另一个游戏对象。它必须附加到相机,因为您正在引用 transform.rotation 这将影响脚本附加到的当前游戏对象。

Select 你的相机,然后将脚本拖到它上面。单击 "Play" 并按 Q 或 E 按钮。相机应该旋转。我真的向你推荐Unity项目tutorials