使用一个项目后,以z角度旋转主摄像机

本文关键字:旋转 摄像机 项目 一个 | 更新日期: 2023-09-27 17:53:21

试图理解Unity4和有一些麻烦。我的3d游戏的想法是收集一些蘑菇并将其种植。其中一个可能的影响是上下变化。大地和天空的位置交换也是如此。我试过用相机旋转来做。但我想我做错了。

override public void Use(){
    this.activated = true;
}
override public void Update(){
    base.Update ();
    if (this.activated) {       
        Camera.main.transform.Rotate(Vector3.forward, 180);
    }
}

使用蘑菇后,主摄像机开始跳跃,并在很短的时间内旋转一些疯狂的角度。但它应该保持稳定,并改变它的自我纠正玩家的输入。

我的错误是什么,我能做些什么?谢谢你的关注。

user1711383的回答有帮助,但不是完美的。

没有解释整个情况。它只适用于库存。在我按下"I"之后,反转就消失了。我用

public bool visible=false;
public GUISkin skin;
public MouseLook player;
public MouseLook cam;
void Update(){
    if (Input.GetKeyDown (KeyCode.I)) {
        visible=!visible;
        player.enabled = !visible;
        cam.enabled = !visible;
    }
}
void OnGUI(){
    if (visible) {
        GUI.skin = skin;
        GUI.Window(0,new Rect((Screen.width-1024)/2,0,1024,600),InventoryBody,"Inventory");
    }
}

使用一个项目后,以z角度旋转主摄像机

除非您再次将激活设置为false,否则旋转调用将继续发生。

override public void Update(){
    base.Update ();
    if (this.activated) {       
        Camera.main.transform.Rotate(Vector3.forward, 180);
        this.activated = false;
    }
}

考虑使用Vector3.Lerp()在两个状态之间平滑移动。有一个视频教程包含它。https://unity3d.com/learn/tutorials/projects/stealth/camera-movement