2013-08-05 55 views
1

我有一名玩家在第一人在Unity地形上行走,我想將攝像機控制限制在y軸(左/右)並自動執行相機旋轉x軸。 因此,仰視/仰視不需要玩家輸入,具體取決於你是否沿着斜坡走下坡路。Unity在斜坡向上/向下自動旋轉攝像機

我不太確定要尋找什麼。你可以用Raycast做,但我想有一個更簡單的方法?

+1

如果你有一個控制器,你也可以得到你碰到的對撞機和它的正常。但我不知道你的具體設置是什麼。 http://docs.unity3d.com/Documentation/ScriptReference/ControllerColliderHit-normal.html – Bart

+0

是的,應該寫下我使用Character Controler進行移動。 – Dreiven

+2

用'yourTerrain.terrainData.GetInterpolatedNormal(normalizedPlayerPosition)'獲得地形正常。 在相機上禁用MouseLook腳本。 在您的FPC上,在'LateUpdate()'中,將FPC方向同步到normal:'transform.rotation = Quaternion.LookRotation(Vector3.Cross(transform.right,normal),normal)'。 修改您的FPS上的MouseLook腳本以圍繞此新的y軸旋轉:'transform.RotateAround(transform.up,Input.GetAxis(「Mouse X」))''。 你也可以用'Quaternion.Slerp(transform.rotation,lookRotation,(Time.deltaTime * 2f))'來平滑旋轉' – Richard

回答

0

有幾個內置的相機腳本。你需要導入統一的標準資產。還有一些你可以修改的不同的,但是他們確實跟隨了這個球員。