Mecanim动画系统
Unity3D动画系统分类:
   一:Unity3.5版本之前的旧的Legacy系统;
   二:Unity4.0版本新增加的Mecanim动画系统。

新动画系统的优点:
   1)可视化动画剪辑编辑;
  2)能够对动画信息进行复用;
   3)利用动画状态机(Animation State Machine)实现不同状态下动画剪辑的过渡。

人形角色动画制作与导入
Mecanim动画系统的强项之一:
     控制人形角色动画,它可以使得角色动画剪辑只制作一遍,即可以复用到不同的人形角色模型上。

建立模型的一般注意事项:
1)注意模型的尺寸:一般在1.7-1.8之间;
2)在三维的建模软件中,使得角色的最底部与世界坐标的中心点对齐;
3)尽量把模型制作为T型姿势。

FBX文件中的Rig选项卡
(1)Animation Type(动画类型)
None:无动画类型
Legacy:旧版动画类型(使用Animation时使用)
Generic:非人形动画类型(无法使用Mecanim动画系统)
Humanoid:类人型动画类型(可以使用Mecanim动画系统)

(2)Humanoid类型下:
Avatar Definition(获得Avatar的方法):
Create From This Model:创建自身的Avatar
Copy From Other Avatar:使用其他模型的Avatar

FBX文件中的Rig选项卡
Generic类型下:
Root node(根节点):选择骨骼的根节点(动画类型为Humanoid时自动选择),其目的是为了使模型动画与世界坐标达到一个完美的融合。

FBX文件中的Animation选项卡
Import Animation:导入动画
Anim.Compression:动画压缩类型
Off:不进行压缩
Keyframe Reduction:关键帧压缩
Optimal:最佳压缩
Rotation Error:动画中旋转的误差值
Position Error:动画中位置的误差值
Scale  Error:动画中缩放的误差值

Animator组件
Controller:附加到此角色的动画器控制器
Avatar:此角色的Avatar
Apply Root Motion:应从动画本身还是从脚本控制角色的位置
Update Mode:动画器更新模式
Normal:动画器标准更新
Animate Physics:在物理循环期间更新动画器为了使动画系统与物理引擎同步
Unscaled Time:Time.timeScale外的动画器独立更新
Culling Mode:动画的剔除模式
Always Animate:始终播放动画,不剔除
Based on Renderers:渲染器不可见时,仅对根运动进行动画处理。当角色不可见时,所有其他身体部位保持静态

Animator编辑窗口
Aniamtor窗口打开路径:Window→Animator

在Aniamtor窗口中点击任意一个动画片段,观测Inspector面板:
Speed:默认动画速度
Motion:当前状态下的动画
Foot IK:该动画是否可以使用IK
Mirror:该动画是否使用镜像
Transitions:该状态下的转换列表
Solo:当自己满足转换条件时只播放自己的动画
Mute:动画状态转移是否被禁用:√(打钩):被禁用(红色)

在Animator窗口内空白处单击右键:
Empty:创建空动画剪辑
From Selected Clip:添加选择的动画片段
From New Blend Tree:添加新的混合树
Create Sub-State Machine:创建子动画状态机
Paste:粘贴
Copy current StateMachine:拷贝当前的动画状态机

在Animator窗口内选中动画片段,单击右键:
Make Transition:创建状态转移线
Set As Default :作为该模型的初始动画
Copy:拷贝动画
Create Sub-State Machine:创建子动画机
Create new BlendTree in State:以该动画片段创建新的混合树
Delete:删除该动画片段

创建Avatar
(1)在Project窗口中点击人物角色模型:U_Character_REF         
在Inspector窗口中选择Rig:
Animation Type:选择“Humanoid”;
Avatar Definition:选择“Create from This Model”;
设置后选择”Apply”进行确认。      
(2)打开映射配置界面:
   点击” Configure…”,进入” Mapping”设置界面,在Inspector窗口进行设置,在Scene窗口进行查看。
(3)点击Body、Head、Left Hand、Right Hand,分别进行身体、头部、左手、右手的设置,进行确认后点击“Apply”按钮。
(4)最后设置完成后,点击“Done”按钮。
(5)检查以上步骤,确认无误后,会看到在U_Character_REF模型中添加了一个Avator,如下图:

判断是否成功创建Avatar:
    如果没能成功创建该角色的Avatar, Configure…”按钮旁会显示一个叉号。
     如果能成功创建该角色的Avatar, Configure…”按钮旁会显示一个对号。

一个模型也可以引用其它模型的Avatar,步骤为:
(1)Avatar Definition选择: “ Copy From Other Avatar”
      Scource:  找到刚才创建的U_Character_REFAvatar
(2)点击“Apply”按钮

人形动画的重定向
人形动画的重定向是Mecanim系统中最强大的功能之一,这意味着用户可以通过简单的操作将一组动画应用到各种各样的人形角色模型上。特

别地,重定向只能应用于人形模型,在此情况下,为了保证模型间骨骼结构的对应关系,必须正确配置Avatar。
前提:U_Character_REF和Teddy都已经配置好各自的Avatar
重要操作:把创建好的AniController控制器分别赋予两个模型的Controller属性。

动画层( layer)
Unity使用“动画层”来管理身体不同部分的复杂状态机。比如:可以使用下半身(动画)层来管理走动/跑动;使用上半身(动画)层来控制

投掷/射击等动作。

身体遮罩(Avatar  Mask)
“Mask”选项用来指定该层使用的身体蒙皮。比如:如果你希望当角色走路时抱着物体,即手臂不会来回摆动。此时只需要在BodyMask中禁

止手臂的运动即可。
在Project列表窗口中创建“Avatar Mask”添加的新的身体动画蒙皮层窗口如下图所示。
将新创建的“Body Mask”拖动到新Layer的Mask窗口中,这样,该图层便只会播放手部的动画了。

逆向运动学(IK)
使用IK的前提条件:
首先将模型动画的Mask中需要使用IK的部分点绿(目前只可以在手部和脚部使用IK);
其次将Animator控制机中需要使用IK的Layer里的IK Pass打钩。

设置动画状态机
(1)在Project窗口,点击鼠标右键,创建AnimatorController,并进行重命名,比如:“AniControl”
(2)双击“AniControl”,打开Animator剪辑窗口,并将已经制作好的动画片段拖动到该视图中。
     橙色的动画片段“IdleShort”:为默认的动画状态。
(3)选择U_Character_REF模型的Animator组件,
     属性Controller:选择刚才创建的AniController
(4)各个动画片段之间没有转移的话,运行游戏,并打开Animator窗口,此时会播放默认的动画片段:“IdleShort”(会以蓝色进度条显

示)
Start、End:动画的起始、结束帧数
Loop Pose:循环姿势
Root Transform Rotation:骨骼根节点位置旋转
Root Transform Position Y:沿Y轴根节点位移
Root Transform Position XZ:沿XZ平面根节点位移
Mirror:动画是否镜像

给三个动画片段之间创建状态转移,如下图。
如果要通过代码方式控制动画的播放,需要在Animator窗口的下方的Parameters建立各种调整参数。

Float:浮点型(speed)
Int:整形(height)
Bool:布尔值(isRun)

Blend Tree(混合树)
利用差值技术,使多个动画进行混合,达到多个动画片段间的相互转换。

创建混合树:
Animator窗口右键点击From New Blend Tree

点击混合树,向其中添加需要混合的动画片段。

Blend Type:混合树类型
Parameter:变量类型
Motion:当前状态下的动画
Thresholc:该动画的临界值
     :该动画的默认速度
     :对该动画进行镜像处理
     :红线表示当前模型动画状态

Unity3D笔记第十六天——Mecanim动画系统相关推荐

  1. Unity3D Mecanim 动画系统骨骼动画问题解决方法

    Unity3D Mecanim 动画系统骨骼动画问题解决方法 参考文章: (1)Unity3D Mecanim 动画系统骨骼动画问题解决方法 (2)https://www.cnblogs.com/al ...

  2. [Unity3D]Unity3D游戏开发之当仙剑奇侠传遇上Mecanim动画系统

    大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是 blog.csdn.net/qinyuanpei.博主总算赶在这个月底写出了这篇文章.这个月因为期末考试一直没时间研究太多关于技术方面的东西, ...

  3. [Unity3D]Unity3D游戏开发之自动寻路与Mecanim动画系统的结合

    大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是blog.csdn.net/qinyuanpei.这段时间博主将大部分的精力都放在了研究官方示例项目上,主要是希望能够从中挖掘出有价值的东西分享 ...

  4. 【Unity3D】Unity3D Mecanim动画系统骨骼动画问题解决方法

    这几天开始做游戏中跟动画相关的部分了,此次新项目我们决定一次从新开始,就是能用新的东西就都用新的东西,没有必要总是把自己局限在之前的认知里头,所以此次我们大胆而又现实的采用了Unity 4.x版本新增 ...

  5. Mecanim动画系统

    本期教程和大家分享Mecanim动画系统的重定向特性,Mecanim动画系统是Unity3D推出的全新的动画系统,具有重定向.可融合等诸多新特性,通过和美工人员的紧密合作,可以帮助程序设计人员快速地设 ...

  6. Unity3D游戏开发之使用Mecanim动画系统控制2D动画

    各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://blog.csdn.net/qinyuanpei.博主今天想和大家分享的是在Unity3D中使用Mecanim动画系统来 ...

  7. Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用

    Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用 目录 Unity Mecanim动画系统 之 IK(Inverse Kinemat ...

  8. Unity4.0的新的角色动画系统——MecAnim动画系统

    Unity希望逐步淘汰掉"Legacy animation system"(即4.0以前的版本所使用的动画系统),并将其合并到Mecanim动画系统中.所以建议做新游戏的时候尽量使 ...

  9. Unity—Mecanim动画系统

    这两天学习了动画系统,接下来学习物理引擎和粒子特效! 每日一句:你只管自信,其他的交给别人来说 目录 Mecanim动画系统 新特性 常用名词: 步骤: 模型动画的导入 Animator动画状态机 M ...

最新文章

  1. Windows Server 2012 R2 安装 OpenCV-Python,导入opencv报错: ImportError: DLL load failed.
  2. python编程神器下载_Python编程神器 -程序员必备开发手册
  3. 3 Oracle管理表
  4. Js函数function基础理解
  5. 降本增效利器!趣头条Spark Remote Shuffle Service最佳实践
  6. 多线程中线程参数的传递,不要使用局部变量
  7. DirectUpdateHandler2 Solr commit
  8. (四)比特币时间序列数据的AI预测
  9. 4599 的 iPhone 11,拼多多如何从「真香」到「更香」
  10. latex中极限符号$与$$区别
  11. 保定工程技术学校网络计算机,保定工程技术学校2021年有哪些专业
  12. jszip压缩服务器文件,JSZip压缩与解压的基本使用
  13. 第三代oid铺码软件_点读笔的原理
  14. 英语单词音节拆分程序
  15. 怎么用计算机求原函数,科学计算器使用教程_科学计算器怎么解方程
  16. 面试过了复试机会大吗-面试通过,参加复试通过的几率有多大
  17. Nahimic应用程序初始化失败
  18. python歌词统计_Python大佬分析了15万歌词,告诉你民谣歌手们到底在唱什么
  19. 关于运行npm install报[..................] / idealTree:WEB-48403: sill idealTree buildDeps的问题
  20. MS VC6 链接错误处理

热门文章

  1. 做一个广告业务后台需要几天,5天吗?不,用PhalApi开源框架,1天就能做好
  2. 生物信息_odds_ratios、Likelihood_Ratios、发病率、frequency
  3. abp moveto mysql_abp 使用 hangfire结合mysql
  4. python mac可以运行win不能运行_Pymssql程序可以在mac上运行,但不能在windows上运行...
  5. 编辑器更新中国移动跨平台开发组件(英文简称UDE)
  6. vue项目购物车组件、清空购物车
  7. CSS第四篇(复合选择器)
  8. html图片滤色,css--图片处理
  9. ikbc c104win键盘失灵以及数字键失灵
  10. linux centos数据备份,centOS系统的备份与还原