http://bbs.9ria.com/thread-401781-1-1.html

在这个系列,我们将关注Unity引擎提供的基于骨骼动画工具。它的主要思想是为了把它应用到你自己的游戏来介绍和教基本的2D动画原理。在这节课中,我们将添加闲置,跳跃和动画。

在开始这个课程前,我们将感谢Chenguang (DragonBonesTeam)给我们提供用于本系列教程游戏艺术。

离开的地方

上一节课,我们引入2d精灵来代表游戏角色,使用Unity精灵编辑器切片来构造最基本的角色。如果你没有完成前面的教程,我们强烈建议你这样做,因为你需要2d角色来跟随本教程。

预览效果

这个demo演示了龙的动画,我们的目标是 –点击Space键就跳:

如果看不到可以点击这个链接

一般动画理论

有几个重要的概念,在做动画的时候需要记住。这个课程的目标是,假定我们在2D或者3D动画中没有经验,你从来也没有使用动画软件。

动画,据我们所知,已经从绘画到数字化。有几十种混合动画技术,但所有的这些共享都有一个基本原则,像对口型,挤压或者步行周数。

为了了解动画,你必须第一个了解frame(帧)概念。一帧是由许多静态图像组成的一个动画之一。如果你暂停一个卡通形象,这张图像就是我们在电视上看到的单独帧。

传统动画和电脑动画的主要区别在于工具的使用。传统动画是一个动手做的过程,就是艺术家必须画画来组成成千上万的单个帧。电脑动画不需要很多工具,一般情况下,简化了整个过程。

举个例子说明,传统的动画艺术家必须画出几乎每一帧的动画,而电脑动画的艺术家能使用我们称之为关键帧的点。这些关键帧,正如它的名字指定,是舞台动画的关键阶段。基本上,画家创建这些关键帧的点,接着电脑在他们之间插入一些丢失的帧。可以想象到,这种类型的过程是比劳动密集型的低得多。

你能定义一些关键帧作为静态图像动画序列,而且这个序列在关键点发生。岩石下降是一个很好的例子:在空中岩石开始的位置是一个关键帧,岩石在地面上的最终位置是另外一个关键帧。电脑会自动生成其他所有帧。我们把关键帧之间的帧叫做补间帧,它们的主要任务是负责创建运动的假象。

帧也可以用来作为一个单元的时间。举个例子,如果你看到一个动画持续了20帧。任何动画真正的持续时间取决于帧速率,可以随动画的格式。在北美和日本的标准是每秒30帧(fps),而世界的其他地方标准是每秒25帧.

动画

既然你知道了基本的动画和电脑动画具体来说,让我们回到Unity开始我们角色动画。

第一步是在Assets下创建一个叫animations的文件夹,用它来保存你的角色动画。

接下来,打开在Unity里面(Window下的Animation)的动画面板:

你可以看到,面板上包含一个水平时间轴,一个记录按钮,一个播放按钮,和一对浏览帧的按钮。

抓住旁边的动画窗口和控制台的选项卡(注意你使用2D布局在Unity
2D Arkanoid
教程来创建)。通过这种方式,你可以在打开的动画面板工作。

空闲动画

你将要给龙创建三种不同种类的动画:空闲的动画,跳跃的动画,和下降的动画。

制作第一个动画,选中Dragon游戏对象,然后在动画面板点击Add Curve。一个新的弹出窗口会问你要重命名动画文件和该文件要保存在哪个地方。Unity动画文件有.anim扩展名,你在前面创建的动画文件会保存在Animations文件夹下。创建一个叫Idle.anim的文件。

你可能会注意到一点,一旦保存文件,编辑器的布局有几点要改变:

如果你看一下在场景顶部的Play按钮,你会注意到他们已经变红了。在动画面板的记录按钮现在也是红色的,而且你会看到有一条红线在时间轴上。这意味着显示录音模式。同样的,你看一下监控器,你会看到Unity自动添加上一个新的组件到你的游戏对象中:Animator。

Animator组件是关于一个动画控制器,是用来设置角色行为。这包括设置状态机,混合树和受脚本控制的事件。基本上,Animator的角色和其行为之间的联系。

稍后我们将以更高的深度来讨论Animator组件;但现在,让我们的注意力集中在动画,在龙这个游戏对象中,选中头部:

在动画的时间轴上,拖拽红色的线到1:00(在一分钟的地方)。

现在,在监控器上,设置Z轴的旋转率为7.9。你会注意到,现在有一些小的形状在时间轴上。这些标志表明是动画的关键帧。

移动红色的线移动到2:00,然后设置头部Z轴的旋转到0:

再次按下记录按钮停止记录方式。现在你可以按下播放按钮来测试动画。如果一切顺利,龙的头应该上下摆动。

调整动画

龙头似乎旋转复读太大了。因为我们只是想要龙点头,所以我们需要编辑动画。

重新按下按钮转为记录模式,然后把红线移动到1:00分。旋转Z轴的旋转值为2.05.。

点击记录按钮退出记录模式,然后再次测试动画。

你可以看到,编辑一个动画,你字需要选择想要的关键帧,然后改变它。如果你需要改变一个动画的时机—就例如动画太快或者太慢—你可以拖动时间轴上的标志到你最想要的帧频上。

好了,现在头部的动画好了,然是你还要整个身体动作。因为你建立的角色做一个层次,而不是孤立的游戏对象,你不需要创建每个身体部位的单一动画;相反的,只要点击Add Curve按钮标志和选择不同的身体部位。点击按钮选中龙尾巴。

尝试让龙尾巴上下摆动。想刚刚做的那样,使用Z轴的旋转轴在时间轴的0到2分钟间。

幸亏图层结构已经创建,当你移动尾巴的使用,引擎也会自动移动尾巴尖端。然而,你也可以单独选尾巴尖端制作动画。

非常棒!现在给身体的剩下部位制作闲置的动画。花点时间,你需要编辑动画,知道完全满意。动画花费时间和你也永远不会再第一尝试就得到自己想要的结果。最后,时间轴看起来想这个样子:

注意一点,对于闲置的动画,你不需要改变龙的中心(黑点)的任何值。

跳跃运动

对于跳跃运动,你需要重新创建一个新的动画文件。为了做这个动作,在动画面板,点击Idle标签,然后选择新建影片。

命名为Jump.anim然后保存到Animations文件夹。

这个动画,你想要龙要跳跃头要往上抬。因为我们已经使用Unity创建动画涉及到的基本点,我们将要给一些提示而不是知道你完成整个过程。

在你开始做之前,你需要选中龙这个游戏对象,并开始通过添加曲线。让我们从头部开始。这个动画将是最短的一个,所以在0:30秒做。在Z轴选旋转头查找。

为了防止头部是完全静止,你能添加一些小动作到里面。你也可以通过添加一点旋转来完成这个目的。

给剩下的其他身体部位重复这个过程。记住,动画应该像这个角色是在半空中。

接着我们将教你如何完成整个跳跃。仅供参考,试图让你角色的姿势提出类似如下的:

你做了吗?漂亮!

现在,让我们关注最后的动画,下降动画。

下降动画

角色现在可以跳跃了,但是由两个部分构成一个完成的跳:本身的跳跃,即角色从底板上弹起,然后下降,当角色移动再起下降。现在忘掉第二部分的动画跳,下降动画。

像之前,在动画面板,点击当前动画名字的标签,然后选择创建新的影片。

保存新的动画到Animations文件夹,并命名为Fall.anim。

这一次,你想要角色往下降是要看下面。为了达到这个要求,你需要点击Add Curve按钮并开始摆动龙,像Jump动画,大概30秒处于这种状态。

选中身体部位重复这个过程,然后为整个角色(除了黑点)创建一个各自的关键帧。再次,你添加中间的关键帧来确保在下降过程中角色不是静态的。

下一回

第二个教程就是解释如何在Unity中创建一个基于骨骼2d动画。你已经了解了动画了基础和在三种类型的动画中创建关键帧。下一节课,我们将连接不同的动画,混合它们和通过脚本调用它们。

到目前为止,如果你有任何问题或反馈,可以再下面发表评论。

参考资料

· 龙精灵表:从Chenguang 的DragonBonesTeam获得适用权限

原文链接:http://gamedevelopment.tutsplus.com/tutorials/bone-based-unity-2d-animation-creating-the-actual-animations--cms-21366

翻译词数:1800

图片13.png (73.27
KB, 下载次数: 12)

图片12.png (76.1
KB, 下载次数: 8)

Unity 2D骨骼动画2:创建真实动画的更多相关文章

  1. 初尝2D骨骼动画编辑工具SPINE,并into Unity3D

    一.SPINE使用 研究2D骨骼动画,CYou的朋友介绍我SPINE这个工具,开发自Esoteric Software的一款专门制作2D动画的软件,网络上的资料还很少,我这从半吊子美术技术的角度简单说 ...

  2. Spine(2D骨骼动画)

    点击进入Spine官网 Spine 是一款针对游戏的 2D 骨骼动画编辑工具. Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画. 功能: 1.摄影表 Dopesheet 在动画制作 ...

  3. Unity插件 - MeshEditor(七)变形动画骨骼及蒙皮

    MeshAnimation在物体的顶点比较多的情况下,悲剧是显而可见的,我一个一个的点选顶点肯定得累死,而且对于形态的调控不是很方便,应该说是很麻烦,要知道,骨骼动画因为有了骨骼以及蒙皮信息而有了灵魂 ...

  4. 2D骨骼动画工具DragonBones的使用教程

    怎样用更少的美术成本创造出更生动的动画效果?今天就为大家介绍一套开源的2D骨骼动画框架和工具--DragonBones,它包含了桌面骨骼动画制作工具DragonBonesPro和一套多语言版本的Dra ...

  5. Spine Skeleton Animation(2D骨骼动画)

    骨骼动画 首先我们来看到底什么是骨骼动画: 在早期的机器上,渲染本身已经占用了很多CPU资源,因此,对于渲染,往往采取的是一种空间换时间的策略,以避免在模型的渲染中继续加重CPU的负担.帧动画模型在这 ...

  6. 关于Unity中Mecanim动画的重定向与动画混合

    应用 一个RPG游戏,里面有100种怪物,每种怪物其实都差不多的,行走,跳跃,攻击,难道动画师要调100次动画吗?其实不需要 Unity抽象出人形动画系统,用Unity简化版的骨骼来进行统一的管理,只 ...

  7. 【Unity Shader】(十) ------ UV动画原理及简易实现

    笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题. [Unity Shader](三) ----- ...

  8. 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画

    系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...

  9. ue4 创建简易动画

    这个功能本来是在原动画基础上做调整用的,所以直接用来做动画并不是很合适,如果要做复杂动画,叠加的轨迹会非常多,不好用 (蒙皮好的)模型右键,创建一个动画合成 点开这个动画合成,创建动画序列(就是普通动 ...

随机推荐

  1. 使用C#解决部分Win8.1系统窗体每隔几秒失去焦点的问题

    使用了Win8.1 With Update 1后,发现重新启动系统后,当前激活的窗体总是每隔几秒失去焦点.过0.5~1秒焦点回来.导致输入无法正常工作,严重影响使用心情和效率. 在网上找了非常久,也没 ...

  2. PHP收邮件receiveMail

    用PHP来发邮件,相信大家都不陌生,但读取收件箱的话,接触就少了,这次总结下自己的经验,希望能够帮助大家. 注意:1.PHP读取收件箱主要是利用imap扩展,所以在使用下面方法前,必须开启imap扩展 ...

  3. EasyDarwin开源社区 短视频拍摄项目Github地址

    在前面的几篇博客中,我们提到了EasyDarwin开源团队整理出来的短视频拍摄技术要点,这次我们将短视频技术及SDK整理成一个完整的Github项目进行长期维护,同时会支持安卓Android和IOS版 ...

  4. "Installing Software" has encountered a problem---pydev on ubuntu

    "Installing Software" has encountered a problem. An error occurred while collecting items ...

  5. Hibernate表关系映射之一对多映射

    一.基本概述 在表中的一对多,是使用外键关联,通过一张表的一个键另一个表的外键来建立一多关系;而在类中表示为一个类中有一个集合属性包含对方类的很多对象,而在另一个类中,只包含前述类的一个对象,从而实现 ...

  6. Congruent Matrices

    http://mathworld.wolfram.com/CongruentMatrices.html Two square matrices  and  are called congruent i ...

  7. 在ubuntu16.04上编译android源码【转】

    本文转载自:http://blog.csdn.net/fuchaosz/article/details/51487585 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...

  8. Objective-C学习之解析XML

    通过soap请求webservice时,返回的数据是XML类型,有时候也需要解析本地的xml数据等,苹果自带类NSXMLParser解析xml还是很方便的,简单轻便 本文以解析本地XML为例,网络获取 ...

  9. 网页上传FLV视频文件

    上传 flv格式文件一致提示文件类型不允许,是因为CI中的配置文件没有支持这个格式 在 application/config/mimes.php中加入 'flv' => array('video ...

  10. 「LuoguP3808」 【模板】AC自动机(简单版)

    题目背景 通过套取数据而直接“打表”过题者,是作弊行为,发现即棕名. 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交. ...