2
我有一個腳本,通過使用鼠標中鍵控制Unity中正交相機平移運動。在世界中心(0,0,0)的空GameObject(例如名字MainCamPivot(請看圖片))作爲相機的父母。相機本身具有Vector3(45f,225f,0f)的局部歐拉角。我可以平移/在X很好地移動相機和Y軸,與此腳本(安裝到照相機):Limit Unity正交相機平移運動
public float panSpeed = 0.05f;
private Vector3 lastMousePos;
void Start()
{
lastCamPos = transform.position;
}
void Update()
{
if(Input.GetMouseButtonDown(2))
{
lastMousePos = Input.mousePosition;
}
if(Input.GetMouseButton(2))
{
Vector3 touchDeltaPosition = Input.mousePosition - lastMousePos;
transform.Translate(-touchDeltaPosition.x * panSpeed, -touchDeltaPosition.y * panSpeed, 0);
lastMousePos = Input.mousePosition;
}
// To limit the orthographic camera panning movement:
if(transform.localPosition.x < 10f) transform.localPosition = new Vector3(10f, transform.localPosition.y, 16.3f);
if(transform.localPosition.x > 23f) transform.localPosition = new Vector3(23f, transform.localPosition.y, 16.3f);
if(transform.localPosition.y < 15f) transform.localPosition = new Vector3(transform.localPosition.x, 15f, 16.3f);
if(transform.localPosition.y > 28f) transform.localPosition = new Vector3(transform.localPosition.x, 28f, 16.3f);
}
爲了限制相機搖攝運動,我設置爲X一些限制和的Y位置相機。問題是相機的Z位置值總是變化,因此設置相機的Z位置將會使相機鍋固定位置/移動斜像下面的圖片:
什麼最好的方法來正確限制拼寫正確的攝像機移動,使用腳本? (如下列圖示)
刪除我的答案,我意識到你已經在玩當地的位置。 – Everts
你解決了這個問題嗎? 嘗試使用兩個支點,一個支持腳本,另一個支持反映z更改。我爲我的一個項目做了這樣的事情。 –