Unity - 玩家的相机小孩无法控制地旋转

问题描述:

我有一个相机,我希望始终保持在与玩家相同的位置。我是通过让它成为玩家的孩子来做到这一点的,因为当我通过脚本完成时,玩家在相机之前。我也有相机与鼠标旋转。但是,当我将相机制作为播放器的孩子时,我的播放器和相机现在不停止旋转,但在鼠标静止时继续播放。我只想在鼠标移动时相机旋转。我的代码(JS):Unity - 玩家的相机小孩无法控制地旋转

#pragma strict 
var player : GameObject; 
function Start() { 
    player = GameObject.Find("Player"); 
    Cursor.visible = false; 
} 

function Update() { 
    //transform.position = player.transform.position; 
    transform.Rotate(Input.GetAxis("Mouse Y") * -2, Input.GetAxis("Mouse X") * 5, 0); 
    transform.rotation.eulerAngles = new Vector3(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, 0); 
    //player.transform.rotation = transform.rotation; 
} 

首先注释掉线的是摄像头移动到播放器现已不必要的代码,第二行是导致问题的一个。如果我删除它,相机旋转正常,但玩家不能转动(基于transform.forward的控件)。如果我取消注释,播放器和相机就会毫无摩擦地转动,无法控制。

+0

你有没有尝试从Unity示例项目预制相机?他们有像第三人一样的酷工作相机等。您可以查看代码或仅使用它。 –

+0

谢谢,我可能会这样做。 – battlemage64

+0

好消息!问题在于它旋转了播放器,然后将它作为播放器的一个小孩旋转,重复了令人厌恶的想法。试图解决它。 – battlemage64

这实际上并不是你如何制作鼠标外观控制器。 你应该在这些控制器来看一看:

https://forum.unity.com/threads/a-free-simple-smooth-mouselook.73117/

http://wiki.unity3d.com/index.php/SmoothMouseLook

或者这个JS之一:http://answers.unity3d.com/answers/367253/view.html

+0

谢谢!我很新,所以我试图做出我能想到的最简单的东西(更少的东西搞砸了)。 – battlemage64

+0

不要害怕破坏东西 - 这是学习过程的一部分 – Fiffe

+0

固定!我查看了这些链接,最终找到了解决方案,即相机是播放器的一个孩子,鼠标旋转播放器。相机旋转脚本全部融入主播手中,一切顺利。感谢大家! – battlemage64