【问题标题】:Character is moving in weird ways when using Transform.forward in Unity在 Unity 中使用 Transform.forward 时,角色以奇怪的方式移动
【发布时间】:2015-05-23 13:47:33
【问题描述】:

我环顾了整个 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);
    }

}

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

干杯, 冷999

【问题讨论】:

    标签: c# unity3d transform


    【解决方案1】:

    我傻了……

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

    【讨论】:

    • 为什么要将字符翻译成相机旋转的函数?。一个角色有自己的旋转,所以如果正确地完成transform.Translate(transform.forward * moveSpeed); 相对于角色的Update() 应该可以工作,我会想到。
    • 这实际上在我的 PlayerController 类的FixedUpdate() 中。抱歉,如果不够清楚。
    • 不用担心。最重要的是你成功了:)
    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多