2017-09-14 38 views
0

好吧,让我们看看。我有第三人称控制器是统一的默认字符。这个角色与其他人交谈,并在屏幕上出现2D对话,此时我会阻止玩家移除所有动作,但有时我的角色会停留在停止前的动画中。如何将thirpersoncontroller的动画设置为预设或自然状态Unity C中的字符#

动画继续运行。 像这样:

enter image description here

它看起来非常糟糕左右。

我需要,使其保持这种方式停止动画:

enter image description here

我需要离开我的性格与他在自然状态下的动画。我不知道如何。

请帮帮忙,谢谢...

回答

0

在动画来控制角色的动画的thirdpersoncontroller使用混合树。你可以打开角色的动画制作者并双击“Grounded”状态,混合树会显示出来。

这里m_ForwardAmountm_TurnAmount分别用来控制不同的动画剪辑之间的平滑过渡。正如我所看到的,当你冻结它的动作时,你想要的角色动画是Idle

您可以通过将这两个变量设置为零来尝试以下方法。

public void Move(Vector3 move, bool crouch, bool jump) 
      { 
       if (isStop) { 
        m_Rigidbody.velocity = Vector3.zero; 
        m_ForwardAmount = 0f; 
        m_TurnAmount = 0f; 
        UpdateAnimator(move); 
        return; 
       } 
    ... 
    } 
+0

它的工作!非常感谢 ! ;) –

相关问题