Spine基础设置

Unity插件 · 08-20 · 175 人浏览

网上买的素材
skeleton.atlas 后缀改为txt skeleton.atlas.txt
图集.png 图片是png的
skeleton.skel 后缀改为.bytes skeleton.skel.bytes
运行库必须和素材要一致,比如素材是3.6,那么素材也是3.6
有白边或者黑边,显示不正常怎么办,将material的alpha/blend

spine
跨平台的2D骨骼动画制作工具
.json 存储了骨骼信息
.png 使用的图片信息
.atlas .txt 图片在图集中的位置信息

当我们把这三个资源导入到已经引入了spine运行库的unity工程后
会自动为我们生成
_Atlas 材质和.atlas.txt文件的引用配置文件
-Material 材质文件
_skeletonData

spine参数相关
Animations 动画
Setup Pose 设置姿势 (还原到默认姿势)
Create Animation Reference Assets 创建动画参考资源
Slots:插槽相关(一个部位有多张图片构成,可以在这预览)
Mix Animation:动画过渡混合
比如idle 到 attack 几秒过渡

导入的spine有边框
在project找到图集文件,在inspector里的 generate mip map 勾掉
或者 alpha is transpare 勾掉

using Spine;
using Spine.Unity;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class spineScript : MonoBehaviour
{
SkeletonAnimation sa;

[SpineAnimation] //动画特性
public string aniName;

[SpineBone] //骨骼特性
public string boneName;

[SpineSlot] //插槽特性
public string ccName;

[SpineAttachment] //附件特性
public string attachName;

// Start is called before the first frame update
void Start()
{

sa = GetComponent<SkeletonAnimation>();
//动画播放 直接改变动画播放参数
//sa.loop = true;
//sa.AnimationName = "run";
//动画状态改变的函数
//参0 索引 参1 动画名字  参2 是否循环
//马上播放
sa.AnimationState.SetAnimation(0, aniName, true);
//等待上一个动画播放完毕后,排队播放
//sa.AnimationState.AddAnimation(0, "walk", true,0);

//转向
//sa.skeleton.ScaleX = -1;

//动画事件
//sa.AnimationState.Start += (t) =>
//  {
//      print(sa.AnimationName+ "动画开始播放");
//  };
////动画被中断或者清除
//sa.AnimationState.End += (t) =>
//  {
//      print(sa.AnimationName + "动画中断或者清除");
//  };
////播放完成
//sa.AnimationState.Complete += (t) =>
//{
//    print(sa.AnimationName + "动画播放完成");
//};
////做动画时添加自定义事件
//sa.AnimationState.Event += (t, e) =>
//  {
//      print(sa.AnimationName + "自定义事件");
//  };

//便携特性

//获取骨骼 需要引入命名空间
Bone b= sa.skeleton.FindBone(boneName);

//设置插槽附件
//参1.插槽名字 参2:附加名
//sa.skeleton.SetAttachment(ccName, attachName);

}

// Update is called once per frame
void Update()
{

}

}

Theme Jasmine by Kent Liao