原文链接:
http://www.cnblogs.com/tonge/p/3927343.html

Mecanim概述:

Mecanim是Unity提供第一个丰富而复杂的动画系统,提供了:

针对人形角色的简易的工作流和动画创建能力
Retargeting(运动重定向)功能,即把动画从一个角色模型应用到另一个角色模型上的能力。
针对Animations Clips(动画片段)的简易工作流,针对动画片段及他们之间的过度和交互预览能力。
一个用于管理动画间复杂交互作用的可视化窗口。
通过不同逻辑来控制不同身体部位的运动能力。

Mecanim工作流:

1.资源导入,这一阶段由美术师或动画师通过三维工具来完成。

2.角色的建立,主要分为以下两种方式。

人形角色的建立,Mecanim通过扩展的图形操作界面和动画重定向功能,为人物模型提供了一种特殊的工作流,它包括Avatar的创建和对肌肉定义(Musicle Definitions)的调节。
一般角色的建立,一般为运动物体和四足动物而设定,动画重定向对此不适用。
3.角色的运动,包括设定动画片段以及其相互间的交互作用,也包括建立状态机和混合树、调整动画参数以及通过代码控制动画等。

获取人形网格模型

1.人形网格模型,为了充分利用Mecanim的人形动画系统和动画重定向功能,需要一个具有骨骼绑定和蒙皮的人形网格模型。

人形网格模型一般由一组多边形或三角形网格组成,创建模型的过程称为建模(modelling);
为了控制角色的运动,必须为其创建一个骨骼关节层(joint hierarchy);
人形网格模型必须与关节层级关联起来,通过指定关节的动画来控制特定网格的运动,这个过程称为蒙皮(skinning);
一句话来总结,创建好人物模型后(建模modelling),为其创建一个骨骼关节(joint hierarchy),最后异步将人物网格模型和关节关联起来(蒙皮skinning)。[ modelling > joint hierarchy > skinning ]

2.获取模型,在Mecanim系统中,可以通过三种途径来获取人物网格模型:

使用一个过程试的人物建模工具,Poser 、 Makehum或Mixamo等。其中有些三维软件可以在建模的同时进行骨骼绑定和蒙皮操作。应该尽可能的减少人形网格的面片数量,从而更好的在unity中使用。
在Unity Asset Store下载。
通过三维建模软件来创建全新的人形模型,这类软件包括3Dmax、Maya、Blender等。
3.导出和验证模型,unity引擎可以导入一系列的常用3D文件格式,推荐使用FBX 2012,因为改格式允许:导出的网格中包含关节层级、法线、纹理以及动画信息;也可以导入不包含网格的动画信息。

动画分解:

1.预分解动画模型:最容易使用的动画模型是含有预分解动画片段模型,这种动画模型在导入项目后,可看到面板中包含多个可用的动画片段列表,还可对每个动画片段的帧数范围进行编辑调整。

2.未分解动画模型:提供单一连续动画片段的模型,这种情况可自行设定每个动画的片段所需要的帧。如该模型动画一共有100帧,1-10帧为待机喘息状态,11-30帧为行走,31-60帧为奔跑,61-80帧为攻击,81-100帧为死亡动画。

3.为模型添加动画:用户可以为任意模型的动画组建添加动画片段,该模型甚至可以没有肌肉定义(非Mecanim模型),进而在Animations属性中指定一个默认的动画片段和所有可用的动画片段。在非Mecanim模型上添加动画片段也必须采用非Mecanim的方式进行,即将Muscle Definition属性设置为None。

对具有肌肉定义的Mecnim模型处理过程如下:

创建一个Animator Controller。
打开Animator Controller窗口。
将特定的动画片段拖到Animator Controller窗口。
将模型资源拖入到Hierarchy视图中。
4.通过模型文件来导入动画片段:该方法是遵循Unity指定的动画文件命名方案,用户可以创建独立的模型文件并按照modelName@animaionName.fbx的格式来命名。例如一个魔法师的模型(wizard.fbx),待机、行走、攻击分别命名为 wizard@idle.fbx、wizard@walk.fbx 、wizard@attack.fbx。只有在这种情况下,动画数据才会被使用。

使用人形角色动画

Mecanim动画系统特别适合用于人形角色的动画制作,因为人形模型均具有相同的基本结构,所以用户可以实现将动画效果从一个人形骨架映射到另外一个人形骨架上去,从而实现动画重定向的功能。

创建一个动画的基本步骤就是创建一个从Mecanim系统的简化人形骨架结构到用户实际提供的骨架结构的映射,这种映射关系称为Avatar,下面就介绍如何为一个模型创建一个Avatar。

创建Avatar

在导入一个模型(例如fbx)后,在该模型面板上选中Rig选项卡指定他它的骨骼模型,包括Humanoid、Generic和Legacy这三种。

1.人形动画(Humanoid)

对于人形骨架,选中Animation Type下拉菜单,选择Humanoid,单击Apply按钮,Mecanim系统就会尝试将用户提供的骨架结构与Mecanim系统内嵌的骨架结构进行匹配,匹配成功后在可以看到Configure…复选框被选中。在匹配成功的情况下,会在模型资源中添加一个Avatar子资源。需要注意的是,这里匹配成功仅仅是匹配了所有必要的关节骨骼,如果想达到更好的效果,还需要对Avatar进行手动调整。如果在Configure…旁边显示一个叉号,即不会生成相应的Avatar子资源,这种情况就需要手动配置Avatar。

2.非人形动画

Unity为非人形动画提供了两个选项,一般动画类型(Generic)和旧版动画类型(Legacy),一般动画仍可由Mecanim系统导入,但无法使用人形动画专有的功能。

配置Avatar:

在上一步生成Avatar子资源后,即可配置Avatar。Avatat是Mecanim系统中极为重要的模块,因此为模型资源正确的设置Avatar也至关重要,不管Avatar自动创建过程是否成功,用户都需要进入Configure…Avatar界面中确认Avatar的有效性,即确认用户提供的骨骼结构与Mecanim系统预定义的骨骼结构是否正确的关联起来,并且模型处于T形姿态。

点击Configure…后Scene视图将被用于显示当前模型的骨骼、肌肉、和动画信息,同时会出现一个Avatar配置面板,可看到一个关键骨骼映射信息的视图,该视图还显示了哪些骨骼是必须匹配的(实线圆圈),哪些是可选匹配的(虚线圆圈)。为了方便Mecanim进行骨骼匹配,用户提供的骨架中应半酣所有必须匹配的骨骼。此外为了提高匹配的成功率,应尽量通过骨骼代表的部位来给骨骼命名。

如果复发为模型找到合适的匹配,用户也可以通过类似Mecanim内部使用的方法来进行手动配置:

1.在Avatar面板中选择Pose下拉项中的Sample Bind-pose(得到模型的原始姿态);

2.在Avatar面板中选择Mapping下拉项中的Automap(基于原始姿态创建一个骨骼映射);

3.在Avatar面板中选择Pose下拉项中的Enforce T-pose(强制模型贴近T形姿态,即Mecanim动画的默认姿态)

如果在第二个步骤中,自动映射的过程出现失败或者局部失败,用户可通过Scene视图或者Hierarchy视图中拖出骨骼并指定骨骼,如果Mecanim认为骨骼匹配,将在Avatar面板中以绿色显示,否则以红色显示。

如果没有指定正确则会看到Sence视图中会出现Character not inT-pose提示,可通过EnforceT-pose强制将模型转换为T型姿态或者旋转至模型为T型姿态。

上述骨骼映射信息还可奥村一个人形模版文件(Humanoid Template File).ht ,这个文件可在所有使用这个映射关系的角色之间复用。

设置Muscle参数:

Mecanim使用肌肉(Muscle)来限制不同骨骼的运动范围,一旦Avatar配置完成,Mecanim就能解析其骨骼结构,进而用户就可以在Muscles选项卡中调节相关参数。在此可非常容易的调节角色的运动范围,确保看起来真实自然。

用户可以在视图上方使用预先定义的变形方法对几根骨骼同时进行调整,也可在视图下方对身体上单根骨骼进行调整。

人形动画的重定向:

人形重定向是Mecanim系统中强大的功能之一,这意味着开发者只需要很简单的操作即可将一组动画应用到其他人形角色模型上,前提是必须正确的配置Avatar。

导入单个动画文件:

在从三维软件导出模型前,遵循unity3d动画文件命名方案,为单个动画模型文件命名modelName@animationName.fbx,即 模型名称@动画名称.fbx 。

例如对于一个名为warlock(魔法师)的模型,分别指定 idle(待机),walk(行走),attack(攻击),death(死亡) 等动画。

即命名规范:

warlock@idle.fbx

warlock@walk.fbx

warlock@attack.fbx

warlock@death.fbx

另外还需导出一个 warlock.fbx 不带动画的模型文件,在导出模型前勾选 no animation选项即可,warlock.fbx模型会遵循动画文件命名规范来索引其他带动画的模型文件。

Unity3D深入浅出 - 新版动画系统(Mecanim)相关推荐

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

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

  2. 关于Unity中新版动画系统的使用

    Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的 ...

  3. Unity笔记 英保通 Unity新的动画系统Mecanim

    Mecanim动画系统是Unity独一无二.强大灵活的人物动画系统.该系统赋予您的人类和非人类人物令人难以置信的自然流畅的动作,使它们栩栩如生.游戏中角色设计提高到了新的层次,在处理人类动画角色中可以 ...

  4. [原]Unity3D深入浅出 - 新版粒子系统 (Shuriken)

    Shuriken粒子系统是继Unity3.5版本之后推出的新版粒子系统,它采用了模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种兵分复杂的粒子效果. 创建一个粒子系统的方式有两种: ...

  5. Unity3D深入浅出 - 新版粒子系统 (Shuriken) - Tonge

    Shuriken粒子系统是继Unity3.5版本之后推出的新版粒子系统,它采用了模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种兵分复杂的粒子效果. 创建一个粒子系统的方式有两种: ...

  6. Unity3d 中Legacy动画系统-剑圣的动画

    LoL中大家应该都玩过剑圣,其实很多技能以及动作都是根据动画截取出来的,今天我们就通过动画来实现剑圣的一些动作. 首先我们在场景中拖入模型,点击一下名字,右边Inspector面板会出来几个几个选项, ...

  7. 【Unity入门计划】Unity2D动画(1)-动画系统的组成及功能的使用

    目录 Unity动画 1 Unity动画系统:MEcanim 该动画系统中常见的术语 2 游戏对象的Animator组件 组件属性 Controller 控制器 Avatar 骨骼 Apply Roo ...

  8. Unity进阶 - 动画系统 - 给人物角色制作动画

    Unity进阶 - 动画系统 - 给人物角色制作动画(点击免费试学本节) 上一篇文章,我们对Unity进阶 - 动画系统 - Mecanim动画系统有了一定的认识,本节课我们给人员角色制作一些简单的动 ...

  9. Unity学习日志_动画系统简介

    Unity学习日志_动画系统简介 Animation,Legacy动画系统 若要使用Animation,需要在创建Clip之前为物体手动添加Animation组件. Animation组件面板: 属性 ...

最新文章

  1. python 数据库订阅_发布/订阅数据库和客户端编程数据库有什么区别?
  2. 德鲁克管理31条金句
  3. 【原创】gooogleman亲自参与设计的三星Cortex A8 S5pv210 之Sate210核心板硬件用户手册(作者:gooogleman)...
  4. java I/O思维导图
  5. MySQL与Python交互入门
  6. 不好意思,这么久没有更新《从零开始掌握ASP.NET Core 》
  7. Oracle的安装、配置与工具使用 实验笔记一
  8. php判断是否为手机设备
  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_17、SpringBootTest单元测试实战...
  10. 美团大众点评面试经验——后台开发
  11. Keras中文文档 评估标准Metrics
  12. Java递归求费数列和_简述java递归与非递归算法,0-100求和,斐波那契数列,八皇后,汉诺塔问题...
  13. 基于 python 的股票和基金选取 程序设计
  14. 做一个有意境的女人难上加难
  15. 自动驾驶-YOLOV5目标检测
  16. 分析针对EFS加密文件无法打开的情况数据恢复的解决方式
  17. 第3章 Linux内核调试手段之内核打印
  18. 【Beta阶段】第六次Scrum Meeting
  19. 比较避孕套、安全期、避孕药、体外排精的避孕方法效果
  20. tomcat下载、安装及其注意事项

热门文章

  1. 低价格的蓝牙耳机可以入手吗?双11平价高性能蓝牙耳机推荐
  2. Unity Shader GrabPass 抓屏幕 截屏
  3. 新手选车系列之(一): 买新车还是淘旧车
  4. 警惕!秋季眼部保养的9大误区
  5. 安卓手机挂载ALIST阿里云盘
  6. 从下厨房网站爬取热门菜谱清单,内含:菜名、原材料、详细烹饪流程的 URL。
  7. win10 点击任务栏图片输入法图标变动
  8. PC5306芯片2.1A 充电 2.4 A 放电高集成度移动电源 SOC
  9. 【GoCN酷Go推荐】Go 系统监控利器-gopsutil
  10. 鸿蒙系统手机接入点是LTE吗,手机的网络接入点里(APN)有个承载系统,那里面有LTE和eHRPD,是不是表示手机能用4G网?...