将Spine动画导入unity

Spine 官方指引

导入

1.拿到的动画文件有三个

fileName.altas // 图集的坐标文件
fileName.json  // 动画数据
fileName.png   // 图片

因为 unity 引擎不识别 .altas 文件后缀,所以我们需要把文件改成fileName.altas.txt

补充: spine 可以直接设置后缀名称为 .altas.txt 2018.1.4

2.接下来下载 spine 的 unity 支持
github: spine-runtime, 将下载内容中的 spine-csharpspine-unity 两个文件夹导入到unity

将Spine动画导入unity_第1张图片
github: spine-runtime

3.将三个动画文件导入到unity中,unity-runtime 会另外生成3个文件

将Spine动画导入unity_第2张图片
导入成功

4.创建动画
Hierarchy 面板中单击右键,选择 spine - SkeletonAnimation, 如果在UI(Canvas)中创建动画请选择 spine - SkeletonGraphic

将Spine动画导入unity_第3张图片

将自动生成的 fileName_SkeletonData 拖拽到 SkeletonAnimation 组件的 SkeletonData Asset 属性上。然后选择AnimationName 属性中选择对应动画,运行即可播放。

将Spine动画导入unity_第4张图片

脚本控制

用脚本控制动画播放

using Spine.Unity;
using UnityEngine;

public class SpineAniController {
  SkeletonAnimation ani;
  SkeletonGraphic gph;

  public void Play (string aniName) {
    ani = ani ?? gameObject.GetComponent();
    gph = gph ?? gameObject.GetComponent();
    
    ani.state.SetAnimation(0, aniName, false);
    gph.AnimationState.SetAnimation(0, aniName, false);
  }

  public void PlayExample () {
    Play("chi");
    Play("peng");
  }
}

你可能感兴趣的:(将Spine动画导入unity)