使用项目后,以z角度旋转MainCamera

时间:2015-06-04 08:29:12

标签: c# unity3d

尝试承担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的答案有所帮助,但并不完美。

没有解释整个情节。它仅适用于库存。在我推'我'之后,倒置消失了。我用了

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");
    }
}

1 个答案:

答案 0 :(得分:1)

除非您再次将激活设置为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