枪不会以相机的方式停留在相机上

问题描述:

在我的等级系统中,我的枪是我的相机的小孩。从图中可以看出,移动摄像机时,枪会浮在空中。我怎样才能使枪相对于相机,使它坚持相机,但我把它放在检查员?枪不会以相机的方式停留在相机上

我不希望它看起来像这样

我希望它看起来像这样,旋转摄像头提升时也是如此。

+0

您是否在相机上调整了FOV(视场)? – ApolloSoftware

+0

@AololSoftware是的,同样的事情发生 –

+0

所以你想让相机在与飞机垂直的相同旋转中用枪来查看? – ApolloSoftware

经过几个小时的搜索,我终于自己搞清楚了。相机连接到的父对象不是一个统一的形状,因此在旋转相机时偏斜了枪的形状。我只是将父对象的比例设置为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锁定某些轴并将每个单独存储为浮点变量。