【问题标题】:How to Switch Between two Animations in Unity如何在 Unity 中切换两个动画
【发布时间】:2023-04-07 09:36:01
【问题描述】:

我的场景中有一匹马,有两个动画(奔跑和行走)

通常马是使用(行走)动画行走

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

任何人都可以帮助我吗?

【问题讨论】:

  • 欢迎来到 Stack Overflow。请查看how to ask a good question。此外,我建议对您的问题进行更改,以包含您迄今为止尝试过的一些代码,以增加您获得回复的机会。

标签: unity3d unity5 unityscript


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这可以通过制作 2 个动画来实现 - 假设您已经这样做了。您可能有一个动画师,如果没有,请创建一个并将其放在两个动画中。创建 Animator 后,通过 Window -> Animator 打开它。

    在动画器中确保“行走”动画是图层默认状态 - 如果不是右键单击动画并单击“设置为图层默认状态”。

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

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

    现在右键单击一个动画状态并选择“进行过渡”并左键单击另一个动画 - 对另一个动画执行相同操作。 单击从“步行”到“跑步”的箭头并添加一个条件(在右侧)。它将自动添加 trigger_run。 (请确保不要将条件放在箭头返回行走动画上。

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

    private Animator anim;
    
    void Start() {
        anim = GetComponent<Animator>();
    }
    
    void Update() {
    
        // CODE
    
        anim.SetTrigger("trigger_run");
    
        // CODE
    
    }
    

    如果您遇到动画切换延迟,请转到动画器中的“步行”->“运行”箭头并禁用“有退出时间”、“固定持续时间”并输入“过渡持续时间 (%) ' 到 0。

    【讨论】:

    • 非常感谢您的回答..我已经应用了所有步骤,但不幸的是现在马总是在跑..他不再走路..我确保动画行走是默认状态..我能做什么?
    猜你喜欢
    • 1970-01-01
    • 2017-05-30
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多