2017-09-14 139 views
1

我有一個相機,我希望始終保持在與玩家相同的位置。我是通過讓它成爲玩家的孩子來做到這一點的,因爲當我通過腳本完成時,玩家在相機之前。我也有相機與鼠標旋轉。但是,當我將相機制作爲播放器的孩子時,我的播放器和相機現在不停止旋轉,但在鼠標靜止時繼續播放。我只想在鼠標移動時相機旋轉。我的代碼(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

回答

0

這實際上並不是你如何製作鼠標外觀控制器。 你應該在這些控制器來看一看:

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