2017-06-14 98 views
-2

我在嘗試使用Unity的第一槍。這是我第一次進軍遊戲開發和3D環境。我正在按照以下位於這裏的生存射擊遊戲教程:https://unity3d.com/learn/tutorials/projects/survival-shooter/player-character?playlist=17144鼠標光標在鍵盤輸入過程中變爲鎖定狀態

我去試試鼠標移動,它應該改變玩家對象的方向,但發現玩家不會改變方向。

我甚至試着直接複製教程作者的代碼,完整地使用它並覆蓋我的原始腳本。他們的代碼可以在鏈接中找到。

Debug.Log("Raycast not hitting");添加到Turning函數的else塊中會導致在每個FixedUpdate期間觸發調試消息,而不管鼠標是否已經放置在地板上。

回答

1

由於您直接複製了所有腳本,因此我假設它們對您的腳本沒有任何問題。這意味着這個問題很可能位於你場景中的某個地方。布爾控制玩家Physics.Raycast(camRay, out floorHit, camRayLength, floorMask)。您使用的else語句確保此函數返回false。我認爲這可能最可能的原因是您的場景中沒有將其圖層設置爲floor的對象。如果RayCast在camRayLength單位範圍內未找到具有floor層的對象,則上述功能將自動返回false。因此,查找或創建一個覆蓋整個樓層並將其圖層設置爲floor的對象。我還建議查看Physics.Raycast的腳本API文檔,以便更好地理解代碼中發生了什麼。下面是Unity文檔的鏈接:https://docs.unity3d.com/ScriptReference/Physics.Raycast.html