Unity新动画系统之动画状态机Animator Controller

在Unity3D中,创建动画状态机是通过AnimatorController实现的,可以自动或手动添加动画。状态机支持条件切换,例如基于用户输入或特定变量。通过Animator组件和相关API,可以编程方式控制动画的切换,如SetFloat、SetInteger、SetBool和SetTrigger方法,同时ExitTime参数决定动画切换时机。

1、创建动画状态机文件

(1)会在创建动画时自动创建

(2)Create----Animator Controller

2、动画状态机窗口相关

层级:可以在右侧齿轮设置参数大小 

 3、添加动画

为对象添加动画后会自动添加到状态机中

4、状态切换

动画会在1和2之间不断切换

 添加条件

点击转换箭头

 在这里设置条件

5、代码控制动画切换

(1)Animator组件

(2)Animator的API

        if (Input.GetKeyDown(KeyCode.A))
        {
            animator.SetFloat("条件名", 1.2f);

        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            animator.SetInteger("条件名", 1);
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            animator.SetBool("条件名", true);
        }
        if (Input.GetKeyDown(KeyCode.F))
        {
            animator.SetTrigger("条件名");
        }

        //得到值
        animator.GetFloat("条件名");

(3)切换动画退出时间 Exit Time

如果勾选那会让动画播完才切换动画,不勾选的话会立刻切换动画

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值