• 【Unity】第10章 Mecanim动画系统


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

  • 相关阅读:
    网络流二十四题之魔术球问题
    网络流二十四题之P2764 最小路径覆盖问题
    网络二十四题 之 P2756 飞行员配对方案问题
    网络流 之 dinic算法
    网络流 之 增广路
    中南
    2249: Altruistic Amphibians 01背包的应用 + lh的简单图论 图转树求lca
    今日训练 搜索
    AD-logon workstation
    Centos7-docker安装
  • 原文地址:https://www.cnblogs.com/rainmj/p/5451844.html
Copyright © 2020-2023  润新知