如何在Unity中切换两个动画

时间:2017-05-19 12:31:40

标签: unity3d unity5 unityscript

我的场景中有一匹马有两个动画(跑步和走路)

通常情况下,这匹马正在使用(步行)动画行走

我需要当玩家从马接近时,马逃脱使用(运行)动画而不是(步行)动画

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

查看Blend Tree Documentation,有很多关于如何使用它的教程。

答案 1 :(得分:0)

这可以通过制作2个动画来实现 - 假设你已经这样做了。你可能在马上有一个动画师,如果没有,创建一个并将其作为动画。创建动画制作工具后,转到Window - >打开它。动画师。

在动画师中确保“walk”动画是图层默认状态 Animator - 如果没有右键单击动画并单击“设置为图层默认状态”。

现在转到Animator窗口右侧的参数选项卡,然后单击“+”按钮: parameters tab - Animator

然后选择'Trigger'(或Bool / Float)然后给它命名,我将其命名为'trigger_run'。

现在右键单击动画状态并选择“转换”并左键单击其他动画 - 对其他动画执行相同操作。 单击从“walk”到“run”的箭头并添加条件(在右侧)。它会自动添加trigger_run。 (确保不要将箭头上的条件放回步行动画。

输入您在马上的脚本(如果没有,创建一个)并创建对其动画师的引用并触发动画切换:

private Animator anim;

void Start() {
    anim = GetComponent<Animator>();
}

void Update() {

    // CODE

    anim.SetTrigger("trigger_run");

    // CODE

}

如果您遇到动画切换延迟,请转到'walk' - &gt;动画师中的“运行”箭头并禁用“退出时间”,“固定持续时间”并将“转换持续时间(%)”设置为0。

animation-switch delay