分类:Unity、C#、VS2015

创建日期:2016-05-02

一、简介

Unity提供了两种动画系统:一种是早期版本提供的旧版(Legacy)动画系统,旧版本(Legacy)以后将逐步被淘汰掉并在新版中不再支持。另一种是Mecanim动画系统,这是建议使用的新版动画系统。

如果你是初学者,就不要去学旧版(Legacy)动画了,直接学习Mecanim动画系统即可。

二、什么是Mecanim动画系统

Mecanim(肌肉线条)是Unity提供的新版动画系统,Unity计划将工作流完全并入Mecanim以后,就彻底淘汰旧版 (Legacy) 动画系统。或者说,以后直接使用Mecanim来实现动画处理就行了,特别是在使用类人动画时更是如此。

另外,在某些情况下,你可能仍然会偶尔使用类似旧版 (Legacy) 动画系统提供的功能。比如处理Unity 4.0 之前创建的旧版动画和相关代码,以及希望通过参数而不是通过时间来控制动画片段的场合(比如控制瞄准角度)。为了解决这些问题,Unity 5.x又在Mecanim中将动画进一步细分为“类人动画”和“通用动画”。

Mecanim动画系统主要提供了以下功能:

(1)针对人形角色(或者叫类人角色)的工作流。利用它可方便地创建动画。

(2)Retargeting(运动重定向或者动画重定位)。利用它可以把动画从一个角色模型应用到另一个角色模型上。

(3)针对Animation Clips(动画片段)的工作流。可针对动画片段以及他们之间的过渡和交互过程进行预览。该工作流可以使动画师在编写游戏逻辑代码之前即可预览动画效果,这样动画师就可以独立进行工作而不用过分地依赖于程序员。

(4)使用可视化编程工具(Visual Programming Tool)管理动画之间复杂的交互。

(5)可对身体的不同部位分别用脚本实现不同的逻辑进行动画控制。

三、Mecanim动画系统的基本处理流程

利用Mecanim制作动画时,一般分成三个大的步骤来实现:准备动画资源、创建动画角色、角色控制处理。

第1步—准备动画资源

创建动画资源主要通过其他的专业3D软件(例如 3ds Max 2015 或者 Maya)来完成,这一步的工作与Mecanim功能无关。实际的研发团队中一般由美工或动画设计师来专门完成它,当然,如果人手少,也可以由程序员直接用3ds Max 2015来完成。

动画资源准备好以后,将其导入到Unity中,然后就可以利用Mecanim制作动画了。

第2步—创建动画角色

创建动画角色的目的是为了通过脚本来控制动画,比如控制转身、甩胳膊、起跑、慢走、……等。

有两种创建动画角色的方式:类人角色和通用角色。

(1)类人角色

Mecanim 针对类人(人形)动画模型专门提供了一种特殊的工作流,该工作流使用扩展的GUI和动画重定向来共同实现游戏中需要的类人角色,包括创建 Avatar 以及定义对肌肉线条(Muscle Definitions)的调节等。

(2)通用角色

此方式专为创建非类人角色而提供,例如各种生物动画道具以及四足动物等。虽然通用角色并不适用于动画重定位,但仍可以利用Mecanim实现非类人角色需要的的其他功能,比如控制枪支的瞄准角度等。

第3步--角色控制处理

角色的动画控制处理就是能让玩家通过键盘、鼠标或游戏杆等其他设备让角色像活人或者动物一样“动”起来,也叫“赋予角色生命”,例如让玩家通过左右箭头键或者鼠标左键控制人的转弯、通过上下箭头键后者鼠标右键控制人的起跑或停止、……等。

这一步涉及的内容包括设置动画片段以及动画片段之间的交互,设置状态机和混合树,列出动画参数,以及通过C#脚本代码控制动画的行为。

【Unity】第10章 Mecanim动画系统的更多相关文章

  1. 【Unity笔记】一些Mecanim动画系统、状态机的参数细节

    动画混合树Blend Tree调整动画片段的播放速度: 0 动画不播放 -1 动画倒着播放:如果只有“往前走”的动画,可以变成“往后走”动画 勾选动画是否镜像: 左右颠倒(挥左手变成挥右手) 过度条件 ...

  2. Spine学习七 - spine动画资源+ Unity Mecanim动画系统

    前面已经讲过 Spine自己动画状态机的动画融合,但是万一有哥们就是想要使用Unity的动画系统,那有没有办法呢?答案是肯定的,接下来,就说说如何实现: 1. 在project面板找打你导入的Spin ...

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

    http://7dot9.com/2014/08/16/unity3d-mecanim%E5%8A%A8%E7%94%BB%E7%B3%BB%E7%BB%9F%E9%AA%A8%E9%AA%BC%E5 ...

  4. Unity3D之Mecanim动画系统学习笔记(一):认识Mecanim动画系统

    Mecanim简介 Mecanim动画系统是Unity3D4.0开始引入的一套全新的动画系统,主要提供了下面4个方面的功能: 针对人形角色提供一套特殊的工作流. 动画重定向的能力,可以非常方便的把动画 ...

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

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

  6. [Unity3D]Unity3D圣骑士当游戏开发商遭遇Mecanim动画系统

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

  7. Mecanim动画系统 - 在角色上使用Mask 叠加动画层

    http://www.narkii.com/club/thread-305706-1.html 2013-10-9 01:15 上传 下载附件 (78.65 KB) 导读:五分钟了解Mecanim角色 ...

  8. Unity3D之Mecanim动画系统学习笔记(九):Blend Tree(混合树)

    认识Blend Tree 我们在Animator Controller中除了可以创建一个State外还可以创建一个Blend Tree,如下: 那么我们看下新创建的Blend Tree和State有什 ...

  9. Mecanim动画系统

    序言:Mecanim动画系统是Unity4.0之后退出的新版动画系统,非常适合人类动画系统.本文是作为自己的学习来讲解的, 可能会有些啰嗦,但尽量把自己的坑都为大家列出来,让大家理解透彻. 一.文件的 ...

随机推荐

  1. Ubuntu16.04编译安装Redis Desktop Manager

    Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的. 安装过程参考官方提供的文档  http://docs.redisdesk ...

  2. ios中推送

    http://www.cnblogs.com/cdts_change/p/3240893.html 推荐:http://blog.csdn.net/zhuqilin0/article/details/ ...

  3. kafka和websocket实时数据推送

    需求 ​ 已有Kafka服务,通过kafka服务数据(GPS)落地到本地磁盘(以文本文件存储).现要根据echarts实现一个实时车辆的地图. 分析 前端实时展现:使用websocket技术,实现服务 ...

  4. 编程实践笔记{Java 线程 并发处理 Webservice}(转)

    http://www.cnblogs.com/mingzi/archive/2009/03/09/1406694.html 1, 保证线程安全的三种方法: a, 不要跨线程访问共享变量 b, 使共享变 ...

  5. 理解iOS与函数式编程

    有时候,一个关键字就是一扇通往新世界的大门.两年前,身边开始有人讨论函数式编程,拿关键字Functional Programming一搜,全是新鲜的概念和知识,顺藤摸瓜,看到的技术文章和框架也越来越多 ...

  6. iOS 10 SceneKit 新特性 – SceneKit 制作 3D 场景框架

    来源:scauos(@大朕东) 链接:http://www.jianshu.com/p/b30785bb6c97 开头语: 今天的主题是探索iOS10 SceneKit的新功能,你可以观看今年WWDC ...

  7. 如何查看出口IP地址?

    出口ip地址怎么看?#curl ifconfig.me

  8. Redis学习之路(000)- 目录

    本文是博主学习整理网上大神的文件以及自学的心得. Redis学习之路(000)- 目录 Redis学习之路(001)- Redis介绍以及安装(Linux) Redis学习之路(002)- Ubunt ...

  9. Linux提示“libc.so.6: version `GLIBC_2.14' not found”系统的glibc版本太低

    http://www.linuxidc.com/Linux/2017-01/139806.htm http://www.linuxidc.com/Linux/2015-04/116472.htm

  10. 安卓PopupWindow+ListView实现登录账号选择下拉框

    这段时间在做android开发,发现自定义下拉框有很多种方法实现,我介绍一种PopupWindow+ListView的方式,实现起来比较灵活.效果: 直接看核心代码: //获取文本框 etLoginN ...