枪不能以理想的方式相对于相机

Gun doesn't stay relative to camera in a desirable way

在我的等级制度中,我小时候就拿着枪对着我的相机。从图片中可以看出,在向上移动相机时,枪似乎漂浮在空中。我怎样才能使枪相对于相机,以便它粘在相机上,但我将它放在检查器中?

我不希望它看起来像这样

我希望它看起来像这样,即使在向上旋转相机时也是如此。

您可以在您的 Gun Object 上附加一个脚本,该脚本执行以下操作:

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;
    }
}

据我了解,您希望 Gun 保持 child,但又希望 "lock" 旋转。此脚本将保留枪的旋转,同时还允许您在不锁定的情况下平移位置。

在 Start 期间将旋转初始存储为四元数,然后在每帧调用 Update 时,它​​将旋转设置为初始四元数。

将来如果您想将旋转分解为单独的 x、y、z,您可以使用 transform.rotation.x、y、z 锁定某些轴,并将每个单独存储为浮点变量。

经过几个小时的搜索,我终于自己弄明白了。相机连接到的父对象不是统一的形状,因此在旋转相机时会扭曲枪的形状。我只是将父对象的比例设置为 1,1,1,它按预期工作。