




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、动画系统COMPONENTDAY12内容上午09:00 09:30作业讲解和回顾09:30 10:20Mecanim动画系统(2)10:30 11:2011:30 12:00下午14:00 14:5015:00 15:5016:00 16:5017:00 18:00总结和答疑Mecanim动画系统(2)控制器以及动画参数的应用动画控制器参数设置Animator简介Mecanim动画系统(2)与动画控制相关APIAnimator组件Mecanim的Retargeting动画控制器Mecanim动画系统(2)Mecanim动画系统(2)动画层以及动画事件应用Mecanim层概念BlendTree概
2、念1D/2D混合树的使用Mecanim层的使用权重概念及脚本控制动画事件简介动画事件应用BlendTree1D应用BlendTree2D应用Animator知识讲解简介 角色中Animator组件相当于角色与行为之间一个联系纽带,在角色模型中通过使用Animator组件,用户可以在其中添加动画控制器和Avatar资源。 Animator窗口可以包含多个Animation动画片段知识讲解Animator组件 Controller 指定角色使用的角色控制器。 Avatar(艾薇塔属性):指定角色使用的Avatar资源。 ApplyRootMotion(使用RootMotion属性):一种是使用Ro
3、otMotion,即使用角色动画中包含的RootMotio数据控制场景中的运动;另一种方式使用HandbyScripts,使用脚本进行处理。知识讲解Animator组件(续1) Update Mode 更新模式 Normal 表示使用Update进行更新 Animate Physics表示使用FixUpdate进行更新(一般用 在和物体有交互的情况下) Unscale Time 表示无视timeScale进行更新(一般用在UI动画中)知识讲解Animator组件(续2) CullingMode(排除模式):控制角色在场景中的显示方式,一种是AlwaysAnimate,此项是角色总会有动画,角色
4、不在摄像机范围内,角色的动画仍会进行;另一种是BaseOnRenderers,当角色不在摄像机范围时,角色仅会播放自身带有的rootMotion,而身体中的其他动画就不会播放了知识讲解动画控制器 动画控制器(AnimatorController)与Animator组件息息相关。动画控制器资源相当于一个容器,我们可以通过创建多个动画节点,并形成动画状态机,来处理各个动画之间的过度以及播放逻辑。 状态机以及动画参数的应用知识讲解Mecanim的Retargeting Retargeting的字面含义是目标的重定向,但在Mecanim中指的是角色动画,可以经过Avatar处理过的骨骼间进行重新应用。
5、知识讲解动画控制器参数设置 我们在Project视图中右击菜单中可以创建Animator Controller,下面我们看看新创建的Animator Controller知识讲解动画控制器参数设置(续1) 窗口有3个默认的状态,这些状态是Unity自动帮我们创建的同时也无法删除和修改 Entry:表示当进入当前状态机时的入口,该状态连接的状态会成为进入状态机后的第一个状态; Any State:表示任意的状态,其作用是其指向的状态是在任意时刻都可以切换过去的状态; Exit:表示退出当前的状态机,如果有任意状态指向该出口,表示可以从指定状态退出当前的状态机;知识讲解动画控制器参数设置(续2)
6、两种方式创建新的状态 1.右键菜单进行创建 2.或者我们可以通过把 一个Animation Clip拖拽到状态机窗口中进行创建 新状态标记为黄色,同时被设置为默认的第一个状态。 知识讲解动画控制器参数设置(续3) 状态面板 Motion 表示当前状态对应的Animation Clip Speed 速度 Mirror 镜面(复用动画) Cycle Offset 播放偏移量 Foot IK 是否启用脚部的IK 动画 Write Defaults:动画播放 完毕后是否将状态重置为默认状态,一般勾选即可知识讲解动画控制器参数设置(续4) Solo 勾选表示当前过渡为唯一过渡,即当前状态只能过渡到这个项
7、目指向的状态; Mute 勾选表示使这个动画过渡关闭,即当前状态不能过渡到这个项目指向的状态;知识讲解动画控制器参数设置(续5) 切换默认动画切换默认动画 进行动画状态连接知识讲解动画控制器参数设置(续6) 打开Parameters面板,这里被用来设置状态机使用到的各种参数,如下: Trigger和Bool类型的区别是,Trigger值为True的情况下,动画执行一次后,条件自动还原知识讲解动画控制器参数设置(续7) 点击过渡线,可以在Inspector窗口 设置动画切换 Has Exit Time 是否有退出时间 Conditions 过渡条件 知识讲解与动画控制相关APISetFloat/
8、Getfloat/SetInteger/GetInteger/SetBool/GetBool/SetTrigger/GetTrigger用于设置相应类型的动画参数。StringToHash是静态函数,用于动画状态的名称得到该动画状态的HashID,其返回值是intGetCurrentAnimatorStateInfo/GetNextAnimatorStateInfo用于得到当前/下一个动画状态动画层以及动画事件应用知识讲解Mecanim层概念 通过动画控制器的层功能,可以控制角色不同部位的动画并实施不同的逻辑(比如边跑边攻击效果)。知识讲解Mecanim层的使用 1. 点击“+”号添加层,可更
9、改Name,通过Weight设置动画权重。 2. 默认层中有动画状态机(如跑步动画),在新建的层中将需要的动画拖到面板中(如攻击动画)。知识讲解Mecanim层的使用(续1) 3. 创建AvatarMask,并进行设置(如下图),指定到Mask属性中。 此处为将腿遮罩,则腿不会播放dance动画,当调节Weight动画权重数值时可看到融合效果(范围从01),1为完全融合。知识讲解权重概念及脚本控制 权重(Weight)是指某个动画层在整个动画中的影响。 若权重值为1则此层动画将与整个动画融合 若权重值为0则此层动画与整个动画完全不融合 myAnim.SetLayerWeight(2, 1);
10、2代表第几层,1是权重值知识讲解动画事件简介 在某个动画播放过程中可调用某个方法,方便在动画过程中实现一些行为效果。知识讲解动画事件应用1. 找到角色源文件。2. 找到需要的动画3. 添加事件。4. 对动画事件进行设置。调用的方法名调用的方法名可以传的参数类型可以传的参数类型1D/2D混合树的使用知识讲解BlendTree概念 BlendTree相当于一个复合的动画片段,可以作为Mecanim动画状态机中的一个节点,对于BlendTree来说,它的主要作用就是把几个类似的动画片段合成一个复合的动画片段,因此BlendTree相当于一个动画合成器。知识讲解BlendTree1D应用 1.创建创建 BlendTree 2.双击双击blendTree动画状态动画状态知识讲解BlendTree1D应用(续1)3. 选择选择1D,添加动画片段,添加动画片段注意:注意: 勾选此选项勾选此选项Threshold数值不能自己调整数值不能自己调整,如果需要调整则取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论