尝试承担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");
}
}
答案 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