学习链接:B站资源,大家可以自己去看
一、步骤1、创建动画机
创建文件夹Animator_controller->文件夹下面创建动画机控制器qiegao_controller->双击点开
2、右击创建默认动画
3、设置默认动画状态名字,动画类型
4、在之前的组件上面挂载,动画状态默认动画修改完毕
添加新动画,记得给新的状态添加动画组件
5、增加新连接(此时为默认跳转状态)
6、增加条件跳转,添加参数
7、添加修改条件
不同类型的触发条件不同,值类型也不同
布尔值需要设置true和false
Trigger类似于碰撞器一样,触发了之后只执行一次,就返回初始状态(对比布尔值的优点)
使用场景:
- 适用于行走状态,两个动画需要一直交替着执行的时候,设置中间连线状态是一个双箭头的形式,在上面的触发状态设置为布尔值,这样会自动从状态1到状态2再到状态1再到状态2
- 适用于切重阳糕,切完重阳糕之后分重阳糕,这种只执行一次的操作可以考虑使用trigger形式
通过按钮点击进行切换
二、问题动画之间的转换有过度延迟,将has exit time勾选取消,去掉延迟
三、代码挂载控制代码:挂在有动画的组件上
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//1
public class change_ani_state : MonoBehaviour
{
private Animator animator;
public Button changeBtn;
// Start is called before the first frame update
void Start()
{
animator = this.GetComponent();
changeBtn.onClick.AddListener(changeAnimator);
}
private void changeAnimator()
{
animator.SetBool("is_fengao",true);
//animator.SetTrigger("T_fengao");//直接设置成名字就好
}
// Update is called once per frame
}
挂载位置:



