Unity3d 无法冻结具有平移功能的对象上的旋转

Unity3d 无法冻结具有平移功能的对象上的旋转,unity3d,Unity3d,我正在制作一个游戏,就像火箭跟踪飞机摧毁它的游戏一样。我在火箭上有个问题。它是3D的,当游戏开始时,火箭会旋转90度,我不明白为什么,怎么会被修复 我试图在inspector中使用刚体的约束,但这些约束不起作用 这是控制火箭的脚本 public class Move_missle_lookAt : MonoBehaviour { public Transform mTarget; public float mSpeed ; const float EPSILON = 0.

我正在制作一个游戏,就像火箭跟踪飞机摧毁它的游戏一样。我在火箭上有个问题。它是3D的,当游戏开始时,火箭会旋转90度,我不明白为什么,怎么会被修复

我试图在inspector中使用刚体的约束,但这些约束不起作用

这是控制火箭的脚本

public class Move_missle_lookAt : MonoBehaviour
{
    public Transform mTarget;
    public float mSpeed ;
    const float EPSILON = 0.1f;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        transform.LookAt(mTarget.position);

        if ((transform.position - mTarget.position).magnitude > EPSILON)
              transform.Translate(0.0f, 0.0f, mSpeed * Time.deltaTime);
    }
}

一开始,您的模型可能方向不正确。所以,虽然它看起来是旋转的,但实际上是在它的本机方向


调用
LookAt()
后,将变换旋转90°以进行补偿

一开始,您的模型可能方向不正确。所以,虽然它看起来是旋转的,但实际上是在它的本机方向


调用
LookAt()
后,将变换旋转90°以进行补偿

如果你使用刚体,通过施力,冻结旋转只适用于细节。如果你使用刚体,通过施力,冻结旋转只适用于细节。非常感谢你,我在这件事上坚持了太多以至于我不能相信它。谢谢你,我坚持了太多以至于我不能相信它