博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity】第10章 Mecanim动画系统
阅读量:6218 次
发布时间:2019-06-21

本文共 1545 字,大约阅读时间需要 5 分钟。

分类: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#脚本代码控制动画的行为。

转载地址:http://xroja.baihongyu.com/

你可能感兴趣的文章
C语言课程设计—图书管理系统
查看>>
iOS 多线程
查看>>
【BZOJ】1096: [ZJOI2007]仓库建设(dp+斜率优化)
查看>>
SQL删除重复数据方法
查看>>
C#资源文件与与资源名称字符串之间的互相转化
查看>>
[Unity][Heap sort]用Unity动态演示堆排序的过程(How Heap Sort Works)
查看>>
调试项目出错------360云盘同步搞的鬼
查看>>
sqlite建表语句(特别是外键问题)
查看>>
Android 刷新下拉控制 SwipeRefreshLayout
查看>>
Android 自定义View修炼-打造完美的自定义侧滑菜单/侧滑View控件(转)
查看>>
持久化框架Hibernate 开发实例(一)
查看>>
CentOS下php安装mcrypt扩展
查看>>
2015.10.14-TransactionScope测试
查看>>
Android中MediaMuxer跟MediaCodec用例
查看>>
缓冲区的运用
查看>>
细谈WEB标准
查看>>
经典SQL
查看>>
Gitweb 安装与配置
查看>>
Microsoft.Net中数字签名技术
查看>>
iOS-iOS8模拟器设置中文键盘
查看>>