unity之spine骨骼动画使用

Posted 爱上游戏开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity之spine骨骼动画使用相关的知识,希望对你有一定的参考价值。

导入spine插件

需要使用龙骨动画的话,首先我们得去spine官网下载Unity插件包:spine官网

打开Unity工程

双击下载好的spine unity插件包

或者你也可以在 Unity 菜单中依次点击:Assets->Improt Package->Custom Package ,导入下载好的插件。

接下来unity开始准备资源包

准备完成后会弹出一个是否确认导入该包的提示,,如果你想查看案例的话,直接勾选所有,点击Import导入。如果你只需要插件,有spine基础,则不需要 Spine Examples,直接取消对Spine Examples的勾选即可。

作为演示,这里我取消 Spine Examples导入。
导包前工程目录如下:

导包后目录结构如下,会多一个spine文件

导入spine资源

在使用骨骼动画之前,美术大大会提供给我们动画资源,如下:

一个骨骼动画包含三个文件,分别是: atlas.txt、json、png。
注意:有的美术大大省事,会将atlas.txt直接给成atlas。这时候你一定要手动改成atlas.txt
新建hero_pro文件夹,用来存放改骨骼动画的资源。
将美术大大给到的动画资源选中,拖进该文件夹:

这时会在该文件夹内出现6个文件,除了上述三个美术大大给到的文件外,新增了三个新文件,分别是_Atlas 、_Material 和 _SkeletinData:

  1. _Atlas资源包含一个材质引用和.atlas.txt 。
  2. _Material资源包含一个着色器引用和.png纹理。
  3. _SkeletonData资源包含一个json引用和_Atlas资源。
    除了文件夹内容有改变,在控制台上,我们能看到一个日志log,这个log是导入成功的日志:

使用spine

在Hierarchy面板中,依次点击 Spine->SkeletonGraphic(UnityUI)

这时,面板上会生成一个名为New SkeletonGraphic的物体

接下来需要为New SkeletonGraphic赋值,将 Spine 资源导入时生成的 _SkeletinData 文件拖到动画 UI 对象的 Skeleton Data Asset 属性中

现在,我们随便选择一个动画,使之循环播放,如图所示:
运行游戏,我们会看到该动作的骨骼动画,是不是很神奇。站在巨人的肩膀上,实现我们的需求,轻松且方便。

代码控制spine动画

新建Scripts文件夹,并创建SpineTest脚本。

通过动画名播放动画

使用方式1

public SkeletonAnimation anim;
// 参数含义 起始帧,动画名,是否loop
anim.state.SetAnimation(0, "run", true);

使用方式2

public SkeletonGraphic anim;
// 参数含义 起始帧,动画名,是否loop
anim.AnimationState.SetAnimation(0, "run", true);

通过动画下标播放动画

public SkeletonGraphic anim;
anim.SkeletonData.Animations.Items[0].Name;
anim.AnimationState.SetAnimation(0, aniName, true);

更多操作,详见官网:http://zh.esotericsoftware.com/spine-unity/

以上是关于unity之spine骨骼动画使用的主要内容,如果未能解决你的问题,请参考以下文章

unity之spine骨骼动画使用

Spine在Unity中的应用

unity2D里spine骨骼动画怎么和序列帧特效绑定一起?

Unity——Spine动画的使用

如何提高cocos2d-x-spine骨骼动画加载速度

如何提高cocos2d-x-spine骨骼动画加载速度