动画过渡设置

发布于:2025-04-07 ⋅ 阅读:(30) ⋅ 点赞:(0)

使用Animator的Trigger参数

步骤 1:打开 Animator 窗口

  1. 确保你的 Sprite 对象已添加 Animator 组件

  2. 在 Unity 编辑器顶部菜单栏,选择 Window > Animation > Animator,打开 Animator 窗口。


步骤 2:创建 Trigger 参数

  1. 在 Animator 窗口 的左侧面板中,找到 Parameters(参数) 标签页。

  2. 点击 + 按钮,选择 Trigger,并命名为 AttackTrigger(或其他自定义名称)。


步骤 3:创建动画状态(Idle 和 Attack)

  1. 添加 Idle 动画

    • 如果尚未创建,将 Idle 动画剪辑拖入 Animator 窗口,默认会生成一个初始状态(橙色节点)。

  2. 添加 Attack 动画

    • 将 Attack 动画剪辑拖入 Animator 窗口,生成一个新的状态(灰色节点)。


步骤 4:设置过渡条件

  1. 从 Idle 到 Attack 的过渡

    • 右键点击 Idle 状态,选择 Make Transition,然后点击 Attack 状态,创建一条过渡箭头。

    • 点击该过渡箭头,在 Inspector 窗口中设置:

      • Conditions(条件):选择 AttackTrigger 参数(Trigger 类型)。

      • Has Exit Time:取消勾选(确保动画立即切换,不等待当前动画结束)。

      • Transition Duration(过渡时间):设为 0(瞬间切换)。

  1. 从 Attack 回到 Idle 的过渡

    • 右键点击 Attack 状态,选择 Make Transition,连接到 Idle 状态。

    • 点击此过渡箭头,设置:

      • Conditions:无需参数,直接依赖 Exit Time

      • Has Exit Time:勾选,并设置为 1(等待 Attack 动画播放完毕)。

      • Transition Duration:根据需要调整(如 0.1)。


步骤 5:配置 Attack 动画剪辑

  1. 在 Project 窗口中选择 Attack 动画剪辑。

  2. 在 Inspector 窗口中取消勾选 Loop Time,确保动画只播放一次。


步骤 6:脚本触发 Trigger

在控制脚本中调用 SetTrigger 方法触发动画:

public class PlayerController : MonoBehaviour {
    private Animator animator;

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

    void Update() {
        if (Input.GetKeyDown(KeyCode.Space)) {
            animator.SetTrigger("AttackTrigger"); // 触发动画
        }
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到