精灵动画Animation对话框组成Idle动画的各精灵
精灵动画Animation对话框组成Idle动画的各精灵
1.3 精灵动画
场景中已经添加了精灵,现在是时候让让它动起来了。读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状态:Idle(空闲)和Walking(走)。本节将讲解使用Unity自带的工具,创建精灵动画,并实现简单动画控制的方法本文选自Unity 2D游戏开发快速入门。
1.3.1 Animation
要将精灵图集中的多个精灵的动作,组合成一个动画,可以使用Unity提供的Animation工具。具体的说明和操作方法如下:
(1)在Unity中,单击Window|Animation命令,即可打开名为Animation的窗口,如图1-16所示,在此窗口中就可以将多个精灵的动作,组合起来播放,最终形成动画本文选自Unity 2D游戏开发快速入门。
图1-16 Animation窗口
(2)选中Hierarchy视图里的Player对象(即游戏场景中的精灵对象,现在要为它添加动画效果),然后进入到Animation视图里。单击视图左上角的 按钮,会弹出一个名为Create New Animation的对话框,如图1-17所示。此时需要指定要制作的动画的名字和存储位置。
图1-17 Create New Animation对话框
提示:在本示例中,将此动画命名为PlayerIdleAnimation.anim,并存储于Assets\Animations\Player文件夹下。
在创建了动画以后,进入到Project视图里,创建了动画的指定路径里,我们会发现里面不光创建了指定名称的动画文件,还创建了一个名为Player的动画控制器(Animator Controller)。因为我们选中了Hierarchy视图里的Player对象,所以才新建了同名的动画控制器。修改它的名字为PlayerAnimatorController,这样的命名对它来说更准确些。
提示:动画控制器可以控制精灵对象,做出各种动画效果,并且还可以设置各种动画的过渡条件等等,关于这些会在下面的各步骤中讲解。
(3)新建了动画以后,再选中Hierarchy视图了的Player对象,然后在Inspector视图里可以看到,此对象里多了一个组件Animator,且其属性Controller已经设置成了新建的动画控制器,即PlayerAnimatorController,如图1-18所示。
图1-18 Player对象上,新添加的Animator组件
Animator组件借助Controller属性里设置的动画控制器,真正意义上完成精灵动画的播放,以及各种动画间的转换。
(4)在选中Hierarchy视图里Player对象的前提下,进入到Animation视图里,会发现此视图已经自动打开了PlayerIdleAnimation动画。确保此视图左下角的Dope Sheet按钮处于选中状态,然后将表示同一动画的各精灵,按照动画应有的顺序依次拖入到Animation视图的右侧,且相互之间隔开一定的“距离”,在这里使用“动画帧”来描述或许更准确些,如图1-19所示本文选自Unity 2D游戏开发快速入门。
图1-19 将精灵拖入到Animation视图右侧,并且相隔一定的动画帧
提示:在精灵图集中,表示Idle动画状态的精灵有4个,即playerSprite_idle_01~ playerSprite_idle_04,将它们依次拖动到Animation视图的右侧。明明只有4个精灵,那么为什么本示例中拖入了7个呢?答案是为了让动画流畅播放,即精灵的最后一个动作,应该与第一个动作一致才行,因此后三个精灵依次是playerSprite_idle_03~playerSprite_idle_01。也就是将下图1-20所示的各精灵组合起来播放,就会形成流畅的Idle动画效果。
图1-20 组成Idle动画的各精灵,首尾精灵动作一致
(5)单击Animation视图左上角的 按钮,动画的效果就会在Scene视图里播放出来。如果觉得动画播放的速度太慢,可以调节Animation视图左侧上部Sample(采样率)属性的值,如图1-21所示,它的值越大,动画的播放速度越快。
(6)要为Player对象添加其它的动画(例如,本示例中的Walking动画),可以单击Animation视图左上角的动画名按钮(在本示例中其名为PlayerIdleAnimation),然后选中其中的[Create New Clip]选项即可,如图1-22所示。
图1-21 在Animation视图里,设置动画播放时的采样率 图1-22 为Player对象添加其它的动画
提示:还需要为动画命名,以及指定存储位置,在本示例中动画名为PlayerWalkingAnimation,存储于Assets\Animations\Player文件夹下本文选自Unity 2D游戏开发快速入门。
接着就可以使用同样的方式,为Player对象添加Walking动画效果了本文选自Unity 2D游戏开发快速入门。
精灵动画Animation对话框组成Idle动画的各精灵的更多相关文章
- 前端CSS3动画animation用法
前端CSS3动画animation用法 学习如下动画属性 @keyframes animation-name animation-duration animation-delay animation- ...
- cocos2dx动画Animation介绍
一.帧动画 你能够通过一系列图片文件,像例如以下这样,创建一个动画: [cpp] CCAnimation *animation = CCAnimation::create(); //从本 ...
- 四、cocos2dx动画Animation介绍
qinning199原创,欢迎转载,转载请注明:http://www.cocos2dx.net/?p=22 一.帧动画 你可以通过一系列图片文件,像如下这样,创建一个动画: CCAnimation * ...
- 《The Cg Tutorial》阅读笔记——动画 Animation
这段时间阅读了英文版的NVidia官方的<The Cg Tutorial>,借此来学习基本的图形学知识和着色器编程. 在此做一个阅读笔记. 本文为大便一箩筐的原创内容,转载请注明出处,谢谢 ...
- Android笔记之为自定义对话框添加移动动画效果
给底部的对话框添加移动动画效果 可通过Window.setWindowAnimations(int resId)设置 SharingDialog.java package com.bu_ish.sha ...
- 虾扯蛋:Android View动画 Animation不完全解析
本文结合一些周知的概念和源码片段,对View动画的工作原理进行挖掘和分析.以下不是对源码一丝不苟的分析过程,只是以搞清楚Animation的执行过程.如何被周期性调用为目标粗略分析下相关方法的执行细节 ...
- Android动画效果之Property Animation进阶(属性动画)
前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...
- Android动画效果之Frame Animation(逐帧动画)
前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...
- Android动画效果之Tween Animation(补间动画)
前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...
随机推荐
- break语句
//输入年月,不正确重新输入 for (; ; ) { Console.WriteLine("输入年份:"); int year = int.Parse(Console.ReadL ...
- Y2K Accounting Bug(贪心)
Y2K Accounting Bug Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10945 Accepted: 54 ...
- 用LoadRunner实现接口测试
接口测试的两种方法 其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过 ...
- 初识suse-Linux相关!
Linux这种系统很奇怪,差不多每种不同的版本,它所使用的安装等一些重要命令皆有所变化.假若,你要熟练掌握一种OS,那么如果安装软件/应用,那是入门的第一步. 安装命令中: RedHat.CentOS ...
- 第19章 使用PXE+Kickstart部署无人值守安装
章节概述: 本章节将教会您通过PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统. 这种系统能够实现自动化运维.避免了重复性劳动,帮助提 ...
- Docker大行其道—初识
导读 随着分布式.云计算.大数据的火热爆发,大量的云计算集群出现,光凭计算机硬件配置的已经无法再次一较高下,虚拟化成为其中最核心的技术.虚拟化既可以通过硬件模拟,也可以通过操作系统层面去实现,近年来热 ...
- failed to load session "ubuntu"
https://answers.launchpad.net/ubuntu/+source/gnome-desktop/+question/211792
- cocos2dx阴影层的实现
效果图 //ShadowLayer.h class ShadowLayer : public CCLayer { protected: ShadowLayer() :m_pRender(NULL) , ...
- Android 和iOS 中关于View 的一点知识
View的概念和方法十分重要,这里将对Android 和iOS中出现的,关于视图的一些知识点进行总结,预计文章会比较长,要许多时间慢慢补充. 先转载一部分资料,感谢原作者! 原链接为:http://b ...
- (转)SQL Server 中WITH (NOLOCK)浅析
概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种.它等同于 READUNCOMMITTED . 具体的功能作用如 ...