赞
踩
Unity 代码控制Animator动画
目录
1.2选择后点击 “+” 加号按钮选择需要的类型(float 、int、bool、trigger)的变量,
1.3将动画机的控制变量添加到需要控制的两个动画机连线上,点击动画机连线选(注意需要控制的动画机执行方向),点击连线后在Inspector 面我们可以在下方找到Conditions属性,点击属性的“+” 加号键添加控制。(注意:Has Exit Time 属性如果不需要等待上一个动画播放完毕需要将其选项取消勾选,默认勾选)
1.4选择需要的控制变量,注意默认添加的是否是自己需要的变量,以及动画切换的触发条件。
1.5此时运行程序,初始动画机将不会自动进入下一个动画机。将Bool控制变量更改为我们设置的触发状态时动画将直接播放下一个动画。
2.1添加脚本并获取动画组件,并设置变量。(直接上代码使用空格键控制动画的切换,不知道如何添加脚本可以直接下拉到底(添加脚本
)。)
- private Animator animator;//声明变量
- // Start is called before the first frame update
- void Start()
- {
- animator = GetComponent<Animator>();//获取Animator组件,直接使用只可以获取挂载物体上的组件(GetComponent<需要获取的组件>())
- }
- // Update is called once per frame
- void Update()
- {
- if (Input.GetKeyDown(KeyCode.Space))//当按下空格时执行Space可以更改为键盘任意键(只要开心就好)
- {
- Animator_Play();//使用设置变量的方法
- // animator.Play("002");//animator.Play("动画机名称")--该方法可以直接播放指定动画(没有过度)
- }
- }
- /// <summary>
- /// 设置动画机变量
- /// </summary>
- public void Animator_Play()
- {
- animator.SetBool("Is_Up",true);//设置bool类型变量--SetBool("自己的变量名",变量的状态(true/false))
- //animator.SetFloat("Is_Up",1.234f);//设置Float类型变量--SetFloat("自己的变量名",触发数值)
- //animator.SetTrigger("Is_Up");//设置Trigger类型变量--animator.SetTrigger("自己的变量名");只触发一次
- //animator.SetInteger("Is_Up",1);//设置Int类型变量--SetInteger("自己的变量名",整数类型的数字)
- }
- //设置动画机控制变量为(false 或其他不能触发的数字即可)
- void Animator_Stop()
- {
- animator.SetBool("Is_Up", false);//设置bool类型变量--SetBool("自己的变量名",变量的状态(true/false))
- }

2.2运行效果当按钮下空格键后bool 变量处于激活状态,动画向下执行
1. 点击模型在Inspector 面板下面找到Add Component 按钮点击。在搜索框写入自己控制脚本的名字(注意不能和其他组件的名字重复,一般下方的待选相,没有了以后就说明当前代码名称是独一无二的),然后点击 New script 。
2.确认名字 然后点击Create and Add 系统将会自动生成一个,你自定义名字的脚本。
3点击完成后就可以看到界面多了一个自己命名的脚本了。
4.双击Script属性里的脚本即可以自动打开脚本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。