【问题标题】:My animation is lagging, why?我的动画滞后,为什么?
【发布时间】:2016-05-16 23:13:45
【问题描述】:

我有一个统一的动画,基本上它显示唐纳德特朗普正在运行:

我也有这个特朗普跳跃的一帧动画:

基本上,当他跳跃时,会播放跳跃动画,当他着陆时,会再次播放步行动画。

这一切正常,这段代码运行它:

function Update() {
    trump.velocity = Vector2(speed, trump.velocity.y);
    if (jump > 0) {
        jumpBool = true;
    }
    else {
        jumpBool = false;
    }
    animator.SetBool("Jump", jumpBool);

这是在物理脚本中。然后来自动画师:

这一切都有效,并且动画在他们应该改变的时候改变。问题是,它在完成之前滞后。我认为当特朗普跳跃时,步行动画在切换到跳跃动画之前完成。我的问题是,如何立即自动切换动画,才不会显得那么卡顿?

【问题讨论】:

    标签: animation unity3d unityscript


    【解决方案1】:

    您可以在使 JumpBool = true 时立即调用要播放的 Jump 动画。这样做你不需要等待步行动画完成,它会简单地停止步行并移动到跳跃。

    function Update() {
        trump.velocity = Vector2(speed, trump.velocity.y);
        if (jump > 0) {
            animator.Play("Trump Jump");
            //jumpBool = true;
        }
        else {
            //jumpBool = false;
        }
        //animator.SetBool("Jump", jumpBool);    
    

    你甚至不需要设置布尔值,跳跃动画完成后它会回到步行动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-30
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多