精灵动画Animation对话框组成Idle动画的各精灵

场景中已经添加了精灵,现在是时候让让它动起来了。读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状态:Idle(空闲)和Walking(走)。本节将讲解使用Unity自带的工具,创建精灵动画,并实现简单动画控制的方法本文选自Unity 2D游戏开发快速入门。

.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动画的各精灵相关推荐

  1. 小程序动画Animation,高度增加动画形式,图标旋转动画形式

    <view class="serach-title serach-list"  animation="{{animatheightadd}}" > ...

  2. Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理--旧的动画系统)

    (来自:http://blog.sina.com.cn/s/blog_409cc4b00100qmgz.html) 也许这一篇文章的内容有点枯燥,但我要说的是如果你想深入的了解游戏引擎是如何处理动画片 ...

  3. 微信小程序开发之——动画-Animation(3)

    一 概述 wx.createAnimation创建Animation动画实例 wx.createAnimation时,参数的常用属性 动画常见动作 动画执行完成之后导出动画队列(export) 二 w ...

  4. 04_动画 animation

    过渡 vs 动画 过渡:用于两个状态变化过程 动画:实现多个状态间的变化过程,动画过程可控 动画 动画的本质:快速切换大量图片时在人脑中行成的具有连续性的画面 构成动画的最小单元:帧或动画帧 实现步骤 ...

  5. Unity进阶 - 动画系统 - 给人物角色制作动画

    Unity进阶 - 动画系统 - 给人物角色制作动画(点击免费试学本节) 上一篇文章,我们对Unity进阶 - 动画系统 - Mecanim动画系统有了一定的认识,本节课我们给人员角色制作一些简单的动 ...

  6. CSS animation动画效果实现精灵图、雪碧图动画,多动画应用

    CSS animation动画效果实现精灵图.雪碧图动画,多动画应用 素材下载 分析图片动画过程 图片可以分成4*6=24 小图片也就是24帧 方法1 可以把每一行成一个动画,所以可以拆分4个动画 方 ...

  7. cocos2dx动画Animation介绍

     一.帧动画 你能够通过一系列图片文件,像例如以下这样,创建一个动画: [cpp]   CCAnimation *animation = CCAnimation::create();   //从本 ...

  8. 动画-Animation/@keyframes

    动画的使用流程有两步,分为定义动画和使用动画,定义动画相当于制作动画,有两种制作方法,一个是 from{}···to{}:另一个是百分比.制作完动画之后,再在需要的地方通过 animation 来使用 ...

  9. CSS学习笔记——动画animation初体验(小熊案例)

    文章目录 一.动画概念 二.动画基本用法 1.动画模板 2.动画的使用 3.小熊案例 总结 一.动画概念 动画是CSS3的一个重要用法,动画使元素逐渐从一种样式变为另一种样式.您可以随意更改任意数量的 ...

最新文章

  1. 这个神经网络电饭煲卖2万,我的米不配下锅
  2. (转)字符串匹配算法总结
  3. 使用抽象类还是接口(Java)
  4. IE6不支持min-heigt的bug解决的办法
  5. php适配器设计模式,螃蟹学PHP设计模式之适配器模式
  6. linux文件i节点,深入理解linux中i节点(inode)
  7. MarkDown常用语法及word转MarkDown
  8. python之argmax
  9. 算法:回溯十四 Restore IP Addresses数字字符串还原为IP地址(2种解法)
  10. oc语言的优缺点有哪些
  11. 商用密码产品认证(型号)概述
  12. 手把手教你写一个微信小程序(前端+Java后端)
  13. Java递归求费数列和_java – 斐波纳契数列 – 递归求和
  14. 【JMedia】诺贝尔奖得主:东亚教育浪费了太多生命
  15. 数学----向量点积公式推导
  16. Python基于django的图书商城管理系统毕业设计源码110938
  17. Web身份验证(WebAuthn)
  18. matlab--GUI 如何实现打开图片
  19. 阿里云安装部署Oracle11g 图文流程
  20. Office 2008 for Macintosh: The Missing Manual

热门文章

  1. 0730------Linux网络编程----------服务器端模型(迭代,多进程,多线程,select,poll,epoll 等)...
  2. Myeclipse开发环境下文件中出现的提示错误与解决方法:The import javax.servlet cannot be resolved?
  3. linux 下使用 curl 访问带多参数,GET掉参数解决方案
  4. vue实现pdf导出,解决生成canvas模糊等问题
  5. Windows中报错:Fatal error in launcher: Unable to create process using ‘“‘ 的解决方案
  6. Amazon SNS和Amazon SQS有什么区别?
  7. Visual Studio调试/加载速度很慢
  8. 向流程组的所有成员发送信号的最佳方法是什么?
  9. 2019/2/23研究日志
  10. javascript 事件对象