在我的等級系統中,我的槍是我的相機的小孩。從圖中可以看出,移動攝像機時,槍會浮在空中。我怎樣才能使槍相對於相機,使它堅持相機,但我把它放在檢查員?槍不會以相機的方式停留在相機上
我不希望它看起來像這樣
我希望它看起來像這樣,旋轉攝像頭提升時也是如此。
在我的等級系統中,我的槍是我的相機的小孩。從圖中可以看出,移動攝像機時,槍會浮在空中。我怎樣才能使槍相對於相機,使它堅持相機,但我把它放在檢查員?槍不會以相機的方式停留在相機上
我不希望它看起來像這樣
我希望它看起來像這樣,旋轉攝像頭提升時也是如此。
經過幾個小時的搜索,我終於自己搞清楚了。相機連接到的父對象不是一個統一的形狀,因此在旋轉相機時偏斜了槍的形狀。我只是將父對象的比例設置爲1,1,1,並且按預期工作。
你可以連接到你的槍對象的腳本,做:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public Quaternion x;
// Use this for initialization
void Start() {
x = transform.rotation;
}
// Update is called once per frame
void Update() {
transform.rotation = x;
}
}
從我瞭解你想要的槍仍然是一個孩子,但要「鎖定」旋轉。這個腳本將保留槍的旋轉,同時也讓你翻譯的位置沒有鎖定。
在開始時將旋轉初始存儲爲四元數,然後當每幀調用更新時,它將旋轉設置爲初始四元數。
未來,如果您想將Rotation分解爲單獨的x,y,z,您可以使用transform.rotation.x,y,z鎖定某些軸並將每個單獨存儲爲浮點變量。
您是否在相機上調整了FOV(視場)? – ApolloSoftware
@AololSoftware是的,同樣的事情發生 –
所以你想讓相機在與飛機垂直的相同旋轉中用槍來查看? – ApolloSoftware