在 Unity 中使用 Transform.forward 时角色以奇怪的方式移动

Character is moving in weird ways when using Transform.forward in Unity

我环顾四周 Google,但尚未找到解决此问题的方法。我在 Unity Game Engine 5.0 中创建的 3D 游戏中使用了这个极其简单的代码。结果不太好,很难解释发生的事情,所以这里有一系列图片可以解释我正在经历的事情。

http://imgur.com/a/kT7cE

很明显,我注意到这种趋势,即我的相机每转动 90 度,我的角色就​​想移动 180 度,但我找不到任何解决方案,任何帮助将不胜感激。这是我用来移动角色的代码,我以后也想实现一些扫射,所以请在回复时考虑到这一点,谢谢!

void FixedUpdate () {

    if (Input.GetKey (KeyCode.W) || Input.GetKey (KeyCode.UpArrow)) {   
        transform.Translate(transform.forward *  moveSpeed);
    }

}

如果您需要任何额外信息,请直接询问。

干杯, Cold999

傻我...

我所要做的就是将相机的旋转乘以 2,这样它就会跟随玩家。