2016-09-29 35 views
2

在我的等級系統中,我的槍是我的相機的小孩。從圖中可以看出,移動攝像機時,槍會浮在空中。我怎樣才能使槍相對於相機,使它堅持相機,但我把它放在檢查員?槍不會以相機的方式停留在相機上

我不希望它看起來像這樣

我希望它看起來像這樣,旋轉攝像頭提升時也是如此。

+0

您是否在相機上調整了FOV(視場)? – ApolloSoftware

+0

@AololSoftware是的,同樣的事情發生 –

+0

所以你想讓相機在與飛機垂直的相同旋轉中用槍來查看? – ApolloSoftware

回答

0

經過幾個小時的搜索,我終於自己搞清楚了。相機連接到的父對象不是一個統一的形狀,因此在旋轉相機時偏斜了槍的形狀。我只是將父對象的比例設置爲1,1,1,並且按預期工作。

0

你可以連接到你的槍對象的腳本,做:

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鎖定某些軸並將每個單獨存儲爲浮點變量。