Unity 4.0 中的新动画系统——MecAnim
分享一个文档资料,关于动画系统的,版本应该很老了,但是有借鉴意义的;
Unity 4.0 已于 2012 年 11 月 15 日正式发布,Unity 每一次版本的提升,都给游戏开发者带来惊喜,这一次也不例外,该版本最大变化之一就是引入了新动画系统——MecAnim,通过 MecAnim 新的动画系统,开发者在 Unity 中可以非常方便地实现角色动画。所以 Unity 4.0 的启动画面都突出了新的动画系统这一最新功能 。
这里需要说明的是,在 Unity 4.0 中,开发者还是可以使用原有的动画系统的,也就是说使用原有的非角色动画系统, 具体步骤这里不再详细叙述 。
在新的 MecAnim 角色动画系统中,我们需要通过以下步骤实现 Unity 中的角色动画:
1. 导入角色动画
2. 创建角色动画 Avatar
3. 添加角色动画控制器、设置状态机、设置混合树、实现编码等控制角色动画
在导入角色动画过程中,与原有的动画系统类似,如果角色动画模型已经包括相关的动画,则在 Animation 选项卡中,可以自动导入相关的动画,如图 2 所示。
图 2 动画设置界面
在图 2 中,导入角色动画时,原有模型所设置的动画被 Unity 很好地识别,被划分成许多动画片段,此时开发者还可以调整每个动画的起始帧和结束帧。如图所示的 Idle 动画片段,是从 0 到 245 帧。
当然,还可以手动设置动画片段,这与原有的动画系统基本一样,这里不再重复,如图
3 所示。
3 手动设置动画片段
实际上,通过角色动画导入,与原有的 Unity 并没有什么不同,只是在 Unity 内部转换、识别相关的模型和动画片段而也,这个步骤与原有的动画系统是完全一样的。
在创建角色动画 Avatar 过程中,该步骤则是新的 Unity 4.0 所必须添加的一个步骤,新的 Unity 4.0 是通过 Avatar 这个代理来实现设置角色动画中的骨架和蒙皮的。
在图 4 中,单击 Rig 选项卡中的“Configure”按钮,为当前导入的模型创建一个 Avatar,此时会打开如图 5 所示的界面。
图 4 创建 Avatar
通过创建 Avatar 中的 Mapping 选项卡,实现角色动画中的骨架到 Unity 的映射,也就是说,通过该映射,Unity 可以设置角色中的骨架信息,如图 5 所示。
通过创建 Avatar 中的 Muscles 选项卡,实现角色动画中蒙皮到 Unity 的映射,也就是说,通过该映射,Unity 可以设置角色中的蒙皮信息,如图 6 所示。
通过创建角色动画 Avatar,在新的动画系统 MecAnim 中,Unity 就设置了角色动画的骨架和蒙皮信息,从而就可以在 Unity 中实现角色动画了。
通过上面的 2 个步骤,角色动画在 Unity 中已经被导入,Unity 已经具有识别角色动画的骨架和蒙皮功能,下面开发者就可以使用新的相关界面、相关功能来开发角色动画。
特别令人兴奋的是:在新的 Unity 4.0 新的动画系统中,开发者可以利用角色动画的重定向功能,将其他的任意动画动作绑定到开发者所需要指定的任何角色模型上,使得被绑定的角色也具有指定的动画功能,实现动画动作的可重复利用,这样有可能将美工人员与开发人员的工作彻底分隔开来,极大提高游戏的开发效率;同时可以预见的是,今后 Unity 中的角色动画不再神秘,将会有许多动画动作库可以供开发者使用;当然这对美工来说,是一个不幸的消息,由于动作库的可重复利用,美工的任务相对减少,因此美工的竞争在 Unity 领域将会加大。
图 5 设置映射获得骨架信息 图 6 设置肌肉获得蒙皮信息
将创建了 Avater 的角色模型拖放到游戏场景中,将打开如图 7 所示的 Animator 组件界面。
图 7 Animator 组件
在图 7 所示的 Animator 组件界面中,开发者首先需要创建一个 Animator Controller,单击菜单 Asset——Create,在打开的菜单中选择 Animator Controller 命令,如图 8 所示,即可在 Project 窗格中创建一个新的 New Animator Controller。
图 8 创建 Animator Controller
双击这个 New Animator Controller,即可在左边的窗格中打开 Animator 状态机设置界面,如图 9 所示。
图 9 Animator 状态机设置界面
在图 10 所示的界面中,找到人物挥手的动画,将其拖放到 Animator 状态机中,出现如图 11 所示的界面。
图 10 选择挥手动画
在图 11 中,黄色的矩形 Wave 表示人物处于默认状态。
图 11 拖放挥手动画到 Animator 窗口中
在图 12 中,选择场景中的机器人,将 New Animator Controller 拖放到机器人的 Controller 变量之中。这样就将原有的 Dude 动画的挥手动作,绑定到机器人之中,使得机器人也具有挥手的动作。
图 12 绑定动画
重复上述步骤,绑定其他的 3 个角色,使得他们也具有挥手的动作。运行游戏,4 个角色就会全部具有挥手的动作,如图 13 所示。
图 13 实现挥手动画
以上简单讲解了如何利用重定向功能,设置角色动画的基本过程。
关于新的 Unity 4.0 中的新动画系统——MecAnim,这里只是一个简单介绍,由于文字难于表达这些操作过程,本人将尽快制作一个中文视频讲座,专门介绍 Unity 4.0 中的新动画系统——MecAnim。
Unity 4.0 中的新动画系统——MecAnim,中文视频讲座一旦制作完毕,将存放在优酷视频网上,存放地址如下:http://i.youku.com/Unity3DGAME
贴一个操作代码:
m_animator = xingkong.GetComponent<Animator>();
m_animator.SetBool("UpSpeed", true);
Unity 4.0 中的新动画系统——MecAnim的更多相关文章
- (数据科学学习手札73)盘点pandas 1.0.0中的新特性
本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 毫无疑问pandas已经成为基于Pytho ...
- [Unity3D]Unity4全新的动画系统Mecanim
Unity4.X添加一个新的动画系统,以取代原有的3.X旧的动画系统,全新的动画系统Mecanim是官方推荐,它使我们能够写更少的代码实现连续动画. 效果图 Unity3.X中动画系统播放动画 使用播 ...
- 关于Unity中旧版动画系统的使用
Unity在5.X以后,有一个旧版的动画系统和新版的动画系统. 新版的动画系统是使用Unity动画编辑器来调的,调动画和控制动画 旧版的动画系统是用其他的第三方软件调好后导出到一个FBX文件里面,就是 ...
- Unity笔记 英保通 Unity新的动画系统Mecanim
Mecanim动画系统是Unity独一无二.强大灵活的人物动画系统.该系统赋予您的人类和非人类人物令人难以置信的自然流畅的动作,使它们栩栩如生.游戏中角色设计提高到了新的层次,在处理人类动画角色中可以 ...
- 【译】.NET Core 3.0 中的新变化
.NET Core 3.0 是 .NET Core 平台的下一主要版本.本文回顾了 .Net Core 发展历史,并展示了它是如何从基本支持 Web 和数据工作负载的版本 1,发展成为能够运行 Web ...
- [转]【译】.NET Core 3.0 中的新变化
.NET Core 3.0 是 .NET Core 平台的下一主要版本.本文回顾了 .Net Core 发展历史,并展示了它是如何从基本支持 Web 和数据工作负载的版本 1,发展成为能够运行 Web ...
- xcode 5.0中,新的开发者证书加载方式
按照先前从网上看到的参考,开通了开发者账号之后,要先在本地生成一个request文件,然后上传苹果开发者网站,然后在官网上生成一个证书.cer文件,拿这个文件在本地生成p12文件,然后就是一堆鸡零狗碎 ...
- C# 6.0中你不知道的新特性
为什么写? 今天去上班的公交上,有朋友在张队(张善友)的微信群里,发了一个介绍C# 6.0新特性的视频,视频7分钟,加上本人英语实在太low,整体看下来是一脸懵逼的. 下班回到家里,打开这个视频,把视 ...
- 学习使用ExpressJS 4.0中的新Router
概述 ExpressJS 4.0中提出了新的路由Router.Router好比是一个"迷你版"的express应用,它没有引入views或者settings,但是提供了路由应有的A ...
随机推荐
- linux下混杂模式
混杂模式介绍: 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃:简单的讲,混杂模式就是指网卡能接受所有通过它的 ...
- Tpcc-MySQL对mysql数据库进行性能测试报告、分析及使用gnuplot生成图表展示
TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统. tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于 ...
- Ex 5_28 Alice想要举办一个舞会..._第十次作业
根据总人数建立顶点数量为总人数的无向图,顶点之间有边相连表示两个人相互认识,没有边则表示不认识.对于每一个顶点v,设d(v)表示顶点的度,若d(v)<5,即v认识的人数少于5,则不邀请v,若d( ...
- Windows Server 2003 R2标准版 SP2 64位 (简体中文)官方原版ISO镜像
Windows Server 2003 R2标准版 SP2 64位 (简体中文)官方原版ISO镜像迅雷下载 软件简介 Windows Server 2003 R2标准版是继Windows Serv ...
- Mac 安装 JDK
1.访问Oracle官网 http://www.oracle.com,下载 JDK 2.安装JDK 解压 1 中下载的压缩包,在Finder下载目录中双击安装. 或者命令行安装,详见:http://w ...
- Ngnix日志分析
Ngnix日志分析 cat用来读取日志内容 grep进行匹配的文本搜索 wc则进行最终的统计 grep与命令格式: grep -E “a.*b” file,ab条件同时成立 grep或命令的格式为:g ...
- Java入门第一章知识点总结
-d是directory 目录的意思 cls:清楚doc里面的内容 ipconfig:显示网络配置信息 java -version:检查安装的jdk版本信息 是类型自动向上转换. 在输出时,根据当前 ...
- B 找规律
Description 对于正整数n,k,我们定义这样一个函数f,它满足如下规律f(n,k=1)=-1+2-3+4-5+6...nf(n,k=2)=-1-2+3+4-5-6...nf(n,k=3)=- ...
- Spring启动研究2.AbstractApplicationContext.obtainFreshBeanFactory()研究
据说这个方法里面调用了loadBeanDefinitions,据说很重要,并且跟我感兴趣的标签解析有关,所以仔细看看 obtainFreshBeanFactory()这个方法在AbstractAppl ...
- [转] 通过Ajax方式上传文件,使用FormData进行Ajax请求
通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...