赞
踩
Unity动画系统分为
Animator
组件注:动画片段文件(.anim)是使用标记语言YAML编写的文件(Unity中绝大多数文件都是使用YAML来记录的)
当动画文件只对应一个物体的时候,可以复用到任何一个物体上。
当动画文件要处理多个物体或多个游戏对象时,会在文件中写上该物体的对象名称,unity会通过文件里的这个名称找到正确的游戏对象。
如果游戏对象的名字和动画文件中的不一致,就无法正常播放。
动画复用,当骨骼结构一致,命名也一致,就可以对动画文件进行复用。
当骨骼结构相似,但动画命名不一致时,修改命名以及骨骼系统就可以复用动画,但Unity对人形骨骼有简便的处理方式:Avator
当两个角色的命名方式不一样时,动画不能复用。
如下:名称不匹配,会在Animation窗口显示Missing!
使用替身系统,需要为两个模型都添加替身,使得两模型替身命名方式相同。
添加单独动画片段的三种方法
1. 新建空状态,再添加动画
2. 选中动画,右键添加
3. 直接拖动动画
//获取当前状态机正在播放的动画状态
AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(animator.GetLayerIndex("层级名称"));
//通过标签对不同的标签动画,做不同的事
if(stateInfo.isTag("标签名称")){
......
}
点击状态,可看到状态下的所有转化。
越向下,优先级越高
//修改参数值
animator.SetFloat("参数名称",值);
animator.SetBool("参数名称",值);
//内部会自动转为Hash值,及如下方法
animator.SetFloat(Animator.StringToHash("参数名称"),值);
//获取参数值
animator.getInt("参数名称");
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。