您当前的位置: 首页 >  游戏

鱼儿-1226

暂无认证

  • 0浏览

    0关注

    1100博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity游戏开发 Spine集成和使用

鱼儿-1226 发布时间:2020-07-15 16:18:00 ,浏览量:0

Unity游戏开发 Spine集成和使用

 

古月三齐 2020-03-01 21:55:12   110   收藏

展开

目录

 

 

 

准备工作

 

导入美术资源

 

制作预制件

 

调用接口播放动画

 

动画事件

 

UI中的Spine

 

UI Spine使用接口

 

准备工作

到该链接下载Spine:http://zh.esotericsoftware.com/spine-unity-download/

 

下载好之后导入unitypackage

 

 

 

导入美术资源

 

 

Spine的资源包括三种:xx.atlas, xx.json, xx.png

 

导入后会自动生成材质以及资源文件

 

 

 

制作预制件

场景中创建一个空预制,挂载SkeletonAnimation脚本,将上一步生成好的SkeletonData挂载到脚本中。

 

 

 

调用接口播放动画

// 获取spine动画组件

ani = GetComponent();

// SetAnimation为立即播放指定动画

ani.AnimationState.SetAnimation(0, "walk", true);

// AddAnimation是将指定动画添加到播放队列,当正在播放的动画播放完成后就会播放队列中的动画

ani.AnimationState.AddAnimation(0, "walk", true, 0f);

动画事件

// 注册动画回调

ani.state.Event += state_Event;

 

// 回调方法

void state_Event(TrackEntry state, Spine.Event e)

{

    // 通过判断事件的名称来执行特定操作(比如播放音效)

    if (e.Data.Name == "dosth")

    {

        Debug.Log(e.Data.Name);

    }

UI中的Spine

如下图所示,创建一个画布,将预制件拖到画布下

 

将原来的SkeletonAnimation组件替换为SkeletonGraphic组件

 

将材质上面生成好的材质中的shader替换为Spine/SkeletonGraphic

 

 

 

这样spine动画就能和普通的UI一样在画布中使用,还可以被mask影响。

 

UI Spine使用接口

// 播放方式

SkeletonGraphic ani;

ani = GetComponent();

ani.AnimationState.SetAnimation(0, "walk", true);

ani.AnimationState.AddAnimation(0, "walk", true, 0f);

 

// 注册事件方式

ani.AnimationState.Event += state_Event;

void state_Event(TrackEntry state, Spine.Event e)

{

    if (e.Data.Name == "dosth")

    {

        Debug.Log(e.Data.Name);

    }

 

关注
打赏
1604459285
查看更多评论
立即登录/注册

微信扫码登录

0.0422s