Unity2019_动画系统

动画的播放控制

选中怪物,点击Avtar中的资源

Unity2019_动画系统_第1张图片

在Asset资源目录下的模型

Unity2019_动画系统_第2张图片

动画类型为泛型

 Unity2019_动画系统_第3张图片

工程目录下鼠标右键创建动画控制器

Unity2019_动画系统_第4张图片

找到下面的动画拖到Entry中

Unity2019_动画系统_第5张图片

 添加动画参数类型Int,Id

选中到Ready的箭头,右侧添加条件Id==1;

Unity2019_动画系统_第6张图片

 为怪物添加动画组件,指定动画控制器,指定模型的Avatar

Unity2019_动画系统_第7张图片

 添加脚本AnimatorMgr脚本

using UnityEngine;

public class AnimatorMgr : MonoBehaviour
{
	Animator am;
	void Start()
	{
		am = transform.GetComponent();
	}

	// Update is called once per frame
	void Update()
	{
		if (Input.GetKeyDown(KeyCode.Alpha0))
		{
			am.SetBool("Run", false);
			am.SetInteger("Id", 0);
		}
		else if (Input.GetKeyDown(KeyCode.Alpha1))
		{
			//am.SetInteger("Id", 1);
			//am.SetBool("Run", true);
			//Trigger只会触发一次
			am.SetTrigger("RunTrigger");
		}
		else if (Input.GetKeyDown(KeyCode.Alpha2))
		{
			am.SetBool("Run", false);
			am.SetInteger("Id", 2);
		}
		else if (Input.GetKeyDown(KeyCode.Alpha3))
		{
			am.SetBool("Run", false);
			am.SetInteger("Id", 3);
		}
		else if (Input.GetKeyDown(KeyCode.Alpha4))
		{
			am.SetBool("Run", false);
			am.SetInteger("Id", 4);
		}
	}
}

把过渡到自己选项取消掉

Unity2019_动画系统_第8张图片

 设置动画的循环

Unity2019_动画系统_第9张图片

 等上一个动画播放完再切到当前动画

Unity2019_动画系统_第10张图片

人形动画

Unity2019_动画系统_第11张图片

 点Configure

Unity2019_动画系统_第12张图片

可以查看骨骼的绑定

Unity2019_动画系统_第13张图片

 动画遮罩

可以实现便移动边攻击的动画,移动是一个动画屏蔽上半身的动作,攻击是一个动画屏蔽腿上的动作

在资源中鼠标右键点击创建动画遮罩

Unity2019_动画系统_第14张图片

Unity2019_动画系统_第15张图片

 选中两条腿变为红色,两条腿就没动画了。

Unity2019_动画系统_第16张图片

 AttackUnity2019_动画系统_第17张图片

 RunUnity2019_动画系统_第18张图片

 这俩动画控制器中都有个状态id为1的动画,播放状态为1的动画,即可实现先半身奔跑,上本身攻击的动作。(注意遮罩的权重设为1)

动画分层和退出控制

Unity2019_动画系统_第19张图片

 Unity2019_动画系统_第20张图片

 退出Unity2019_动画系统_第21张图片

Id为1为奔跑,技能的转奔跑都设置退出动画id=1

 Unity2019_动画系统_第22张图片

 Unity2019_动画系统_第23张图片

 注意两点,层级的权重都为1

Unity2019_动画系统_第24张图片

 动画有没有退出事件

Unity2019_动画系统_第25张图片

动画事件

找到动画

 Unity2019_动画系统_第26张图片

脚本挂对象上

Unity2019_动画系统_第27张图片

Unity2019_动画系统_第28张图片

 动画运行到某一帧执行的方法名

 Unity2019_动画系统_第29张图片

 

你可能感兴趣的:(Unity2019,动画)