【问题标题】:Animation move step by step in UnityUnity中的动画一步一步移动
【发布时间】:2014-07-10 07:40:26
【问题描述】:

我必须在 Unity 中创建动画。动画与木乃伊迷宫 (https://www.youtube.com/watch?v=GR3LlbRKf5w) 中的角色相同。

希望动画能像木乃伊迷宫游戏一样一步一步来。

现在,我使用函数

/*targetPosition: position which character will be moved to*/
void Move(Vector3 targetPosition){
    this.transform.position = targetPosition;
}

但它看起来像传送。它不是自然移动的。

如何帮助我让我的角色一步步自然地移动到目标位置,而不会看起来像瞬移。谢谢

【问题讨论】:

    标签: animation unity3d


    【解决方案1】:

    您将需要使用Update 模式在每一帧移动木乃伊。

    公共浮动 MoveSpeed = 1; // 在检查器中更改它以更改木乃伊的移动速度

    Vector3 targetPosition;
    
    void Move(Vector3 targetPosition)
    {
        this.targetPosition = targetPosition;
    }
    
    void Update()
    {
        transform.position = Vector3.MoveTowards(transform.position, targetPosition, MoveSpeed * Time.deltaTime);
    }
    

    【讨论】:

    • 感谢 Formic,我得试试你的建议。现在,我知道你的想法了。我是Unity的新手,所以我想问你另一个问题:当我单击鼠标或按下按钮时如何调用多帧?现在,我在 Update() 函数上捕获事件鼠标或按钮。所以当我按下一次按钮时,我的角色只会移动一小段距离。我需要按几次按钮,以便我的角色可以移动到我想要的位置。如何让我的角色一键移动到目标位置?非常感谢你。 (请看我的下代码)
    • 嘿,您真的应该将此问题标记为已回答,然后将您的其他问题作为新问题提出,而不是创建一个永无止境的线程。
    • 感谢Formic,已实现。
    【解决方案2】:

    感谢 Formic,我必须尝试您的建议。现在,我知道你的想法了。我是 Unity 的新手,所以我想问你另一个问题:

    单击鼠标或按下按钮时如何调用多帧?

    现在,我在 Update() 函数上捕获事件鼠标或按钮。所以当我按下一次按钮时,我的角色只会移动一小段距离。我需要按几次按钮,以便我的角色可以移动到我想要的位置。

    如何让我的角色一键移动到目标位置?非常感谢你。 (请看我的底层代码)

    public float MoveSpeed = 5.0f;
    public float Step = 1.0f; //character move one cell one times - distance cells is 1.0f
    
    
    void Update()
    {
         if (Input.GetKeyUp ("d")) {
             float targetPos = this.transform.position.x + Step; //currentX + Step 
             Vector3 targetPosition = new Vector3(targetPos, this.transform.position.y, this.transform.position.z);
    
             Move(targetPosition); //call to move
         }
    }
    
    void Move(Vector3 targetPosition)
    {
         transform.position = Vector3.MoveTowards(transform.position, targetPosition, MoveSpeed * Time.deltaTime);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 2020-06-17
      相关资源
      最近更新 更多