欢迎光临散文网 会员登陆 & 注册

聊一聊一些荧幕和现场背后的图像故事(30)--什么是spine动画

2022-04-23 02:58 作者:盲人号  | 我要投稿

如果你曾经开发过2D游戏并需要使用精灵动画,你可能要求美术人员创建逐帧动画,例如这个教程中的iOS Games by Tutorials:


然后你可能会写一些代码来快速播放这个图片序列,以模拟出动画效果,就像这样:


这个方法实现起来很简单,但有几个严重的缺陷:

  • 内存和闪存占用率高。
    要因为你要为动画的每一帧生成一张精灵图片,它们会占用大量存储空间。你要动态处理一个不小的精灵,而在你的动画中有大量的精灵要处理,这会带来一个坑爹的问题。这个问题在移动设备上尤为严重,因为内存容量和闪存容量都很有限。

  • 制作动画的成本高昂。
    绘制完整的一帧需要花费美术人员很多时间。如果在动画完成后,要进行调整将会更耗时。

  • 能自已做动画的码农毕竟不多。
    因为要手绘每一帧,如果你是个码农那就得跪求美术人士来做动画,如果随后要加特效你还得去跪求人家。
    在您的游戏中使用2D骨骼动画系统,就能解决这些麻烦。 它并不会把动画中的每一帧存储下来,取而代之的是存储像下面这样身体的各个部分:

  • 然后你可以创建一个很小的动画文件,它定义了如何移动身体各个部分,使其按照你想要的效果表演动画,如走、跑或跳。然后你可以在游戏中用代码读取动画文件,自动为身体的每个部分创建精灵,然后按照文件中描述的数据动画它们。
    当然手动创建一个2D骨骼动画系统,是项疯狂的工作。幸福的是Esoteric Software 已经为我们创建了这样伟大的工具Spine。
    Spine的图形界面能让你以交互的方式,为每一个精灵创建骨骼,然后用骨骼创建你要在游戏中使用的动画。


  • Spine还自带了庞大的预制运行库Spine runtimes,这是一个奇妙的方式“在你的游戏中添加读取Spine文件的代码,然后它为创建动画。”Spine的运行库,支持目前所有主流的游戏引擎Unity, Sprite Kit, cocos2d 等等。

在本教程中,你将用Spine制作一个笨拙的小精灵行走和跌倒的动画。这个过程中你将学会:

  • 导入图片到Spine中

  • 为精灵构建一套骨架

  • 创建两个不同的动画

  • 保存和导出你的成果
    要注意的是本教程不包括将动画结果导入到游戏中;那将是一个独立的教程。本教程的重点是如何使用Spine本身,而不理会你将选择哪种游戏引擎。
    如果你已准备好迈出Spine的第一步,那就让我们开始吧!

开始(Getting Started)

首先第一件事:你要先下载并安装Spine.
Spine支持 Windows, Mac 和 Linux. 有三个版本,五种授权方式供你选择。详情看下面说明。
( 教程原文中关于购买Spine这一块的资料年代过于久远,这里直接看官方的购买页面吧: http://esotericsoftware.com/spine-purchase )

对于本教程的内容,你在试用版中都可以做到。然而在教程最后,你会发现试用版无法导出你的动画。如果你完成了教程的其它本分,并且渴望在你的应用中看到自已制作的动画,那你应该考虑购买基本版或专业版Spine许可,这样你就可以保存和导出你的成果了。
那么选择一个版本下载吧,安装并运行它。如果你用的是Mac,当你试图运行Spine时你可能会看到下面的提示信息:


点击继续你将打开Apple的支持页面。在页面中的第一段里点击http://xquartz.macosforge.org链接。跳到X Quartz下载页面。下载并安装X11,然后再次运行Spine,现在它能正常启动了。

一旦你顺序打开Spine,欢迎你的将是一个示例项目。


当你准备开始学习如何创建自已的动画时,如果你有兴趣,可以随意研究示例项目。

Spine导入图片

导图的工作已经有导图脚本可以实现了,但你还是应该明白它都自动帮你做了些什么
为了让你专心学习Spine,我为你准备好了小精灵的切片素材,接下来你将用它创建制作动作。
点击这里下载素材,把文件夹解压到桌面,这样便于在Spine中找到它。
点击左上角的Spine标志,选择新建项目New Project.



在右边的层级树面板中选择图像节点Images,然后点击下面的浏览Browse.


在你的桌面上找到 SpineElf_START 文件夹,选中后确定。


现在文件夹中所有的图片显示在了Images节点下。


现在按正常情况来说你应该保存项目了,第一条准则“在整个过程中,随时保存!”。
遗憾的是如果你用的是试用版,就木有保存功能。当然拉,如果你升级到基础版或专业版,你就可以按Ctrl+S 或Cmd+S 保存项目了,把它保存在SpineElf_START 文件夹中。
如要你使用的是试用版,也别烦恼。你在使用Spine制作动画的过程,也就是体验一场刺激的冒险游戏的过程。到于Ctrl+S是胆小鬼才干的事,对于威武雄壮的你自然是不屑一顾的。

装配角色

要创建你的角色,你需要去当地的大学里,报名参加点解剖学和美术学方面的课程。呵呵!骗你的!其实本教程为你提供了美术素材,你只要拖放切片素材到场景中就行了。
Images节点中选中body 然后拖放到场景中。


一开始我不知道怎么平移动画布,所以我用一个超搓的办法来改变画布位置。用鼠标滑轮先缩放,然后光标放到另一个位置放大,这样来移动画面。后来Update:@mig_akira告诉我,可以按住右键移动鼠标来移动画布!非常感谢他。
现在再把head拖到场景中。


拖动lArm, lLeg, rArm 和rLeg到场景中,但是head2head3不动。




spine动画和PS动画与flash动画有什么不同?


(1)先说结论,有不同,但比较主观

因为,观看者和呈现者对于动画的态度都是,“表达的载体”


换而言之,形式只是表达的方式,也就是完全有理由相信其中存在读者的主管解读


(2)区别在哪

首先PS的动画模块是照搬的adobe和flash的图层运动逻辑


也就是帧间动画这个逻辑,本质上,这个逻辑导致的结果,还是一张张图片的拼接


所以不可避免的,图层突破不了“锚点”思维,


我们如果做个实验,会发现这样的图层如果摆脱了锚点,就会直接全部“飞了起来”


(3)所以从本质出发,spine动画等于给所有单元独立“建模”


所以图层的运动范围摆脱了2D的限制,能有前后移动的空间


聊一聊一些荧幕和现场背后的图像故事(30)--什么是spine动画的评论 (共 条)

分享到微博请遵守国家法律