一、Spine是什么?

Spine是一个收费的跨平台的2D骨骼动画制作工具。
官方地址:http://zh.esotericsoftware.com/

二、Spine导出的Unity资源

Spine导出的资源有3个文件

  • .json 存储骨骼信息
  • .png 使用的图片图集
  • .atlas.txt 图片在图集中的位置信息

当我们把这三个资源导入到已经引入了Spine运行库的Unity工程后会自动为我们生成

  • _Atlas 材质和.atlas.txt文件的引用配置文件
  • _Material 材质文件
  • _SkeletonData json和_Atlas资源的引用配置文件

三、在Unity中使用Spine动画

首先我们需要导入跟Spine动画资源相对应的Spine运行库(官网下载),然后导入使用的Spine动画。
当我们向场景中拖入相关Spine动画时,会出现以下选项。

分别为:

  1. 使用Spine提供的Api控制动画
  2. 在UI中使用动画
  3. 用Unity提供的动画系统控制

    1和3的区别就是,一个使用Spine提供的API控制动画,另一个使用Aimator控制动画。

四、具体参数

SkeletonData骨骼数据文件

SkeletonData JSON:骨骼数据文件

Scale:缩放大小

  • Skeleton Data Modifiers:骨骼数据修改器

Blend Mode Materizls:混合模式材质

  1. Apply Additive Material:是否使用叠加材质
  2. Additive Materials:叠加材质
  3. Multiply Materials:相乘材质
  4. Screen Materials:屏幕材质

Atlas Assets:图集资源

Mix Settings:混合设置

  • Animation State Data:动画状态数据

Default Mix Duration:默认混合持续时间

  • Add Custom Mix:添加自定义混合(可以指定某两个动画之间的持续时间)

Preview:预览

Animations:动画

  1. Setup Pose:设置姿势(还原到默认姿势)
  2. Create Animation Reference Assets:创建动画参考资源

Slots:插槽相关(一个部位有多张图片构成,可以在这预览)

SkeletonMecanim:骨骼机制

  • Controller:关联动画控制器

SkeletonMecanim是SkeletonAnimation的替代品,它不是必须的

Skeleton Animation

SkeletonData Asset:

关联的骨骼动画信息

Initial Skin:

初始蒙皮
美术在制作时可能有几套蒙皮
一般情况下只有一套 不需要修改

Advanced

  • Initial Flip X/Y:初始翻转X和Y

  • Update When Invisible:不可见时是否更新

              Nothing:不更新Only Animation Status:仅动画状态Only Event Timelines:仅事件Everything Except Mesh:除了网格其它都更新Full Update:更新所有
    
  • Use Single Submesh:使用单个子网格

  • Fix Draw Order:固定提取顺序

  • Immutable Triangles:不变三角形

  • Clear State On Disable:禁用时清楚状态

  • Separator Slot Names:分隔符插槽名称

  • Z Spacing:Z间距

  • Vertex Data:顶点数据

                 PMA Vertex Colors:PMA顶点颜色Tint Black:淡黑色Add Normals:添加法线Solve Tangents:求解切线
    
  • Add Skeleton Utility:添加骨骼公共程序

Debug

  • Show Bone Names:显示骨骼名字

  • Show Paths:显示路径

  • Show Shapes:显示形状

  • Show Constraints:显示约束条件

  • ScaleX/Y:XY的缩放

  • RGBA:颜色

  • Bone:骨骼

     Show Bone Names:显示骨骼名字
    
  • Slots:插槽

  • Constraints:约束条件

  • Draw Order and Separators:提取顺序和分离器相关

  • Events:事件

  • Data Counts:数据数量

                 Bones:骨骼数量Slots:插槽数量Skins:蒙皮数量Events:事件数量IK Constraints:IK约束数量Transform Constraints:位置约束数量Path Constraints:路径约束数量
    

Animation Name:

当前播放的动画名。

Loop:

是否循环。

Time Scale:

时间缩放,值越大动画播放的越快。

Root Motion:

是否添加根运动的脚本,一般情况下不添加。

五、API

//获取组件
private SkeletonAnimation sa;#region 便捷特性,方便使用,以免命名出错。// 动画特性[SpineAnimation]public string jumpName;// 骨骼特性[SpineBone]public string boneName;// 插槽特性[SpineSlot]public string slotName;// 附件特性[SpineAttachment]public string attachmentName;#endregionvoid Start(){sa = this.GetComponent<SkeletonAnimation>();#region 动画播放//方法一:直接改变SkeletonAnimation中参数sa.loop = true;sa.AnimationName = "jump";方法二:使用SkeletonAnimation中动画状态改变的函数//马上播放SetAnimation (int trackIndex默认索引,填0即可, string animationName要播放的动画名字, bool loop是否循环)sa.AnimationState.SetAnimation(0, jumpName, false);//排队播放sa.AnimationState.AddAnimation(0, "walk", true, 0);#region 转向sa.skeleton.ScaleX = -1;#endregion#region 动画事件//动画开始播放sa.AnimationState.Start += (t) =>{print( sa.AnimationName +  "动画开始播放");};//动画被中断或者清除sa.AnimationState.End += (t) =>{print(sa.AnimationName + "动画中断或者清除");};//播放完成sa.AnimationState.Complete += (t) =>{print(sa.AnimationName + "动画播放完成");};//在Spine软件中制作动画时添加的自定义事件sa.AnimationState.Event += (t, e) =>{print(sa.AnimationName + "自定义事件");};#endregion#region 获取骨骼、设置插槽附件//获取骨骼Bone b = sa.skeleton.FindBone(boneName);sa.skeleton.SetAttachment(slotName, attachmentName);#endregion

Unity——Spine动画的使用相关推荐

  1. unity spine动画渐变效果(UGUI及fairyGUI )

    unity spine动画渐变效果(UGUI及fairyGUI ) 查阅了一些资料,大部分都是直接去修改整个动画的alpha值.比如说spine动画默认shader为 更改成,此时修改shader的a ...

  2. unity spine 动画

    先我们来看到底什么是骨骼动画: 在早期的机器上,渲染本身已经占用了很多CPU资源,因此,对于渲染,往往采取的是一种空间换时间的策略,以避免在模型的渲染中继续加重CPU的负担.帧动画模型在这种条件下应运 ...

  3. Unity Spine动画中Complete 委托 、事件、缓存 += -= 委托

    一.API概念 1.Spine.AnimationState支持的事件: 2.Start:当动画开始播放: 3.End:当动画被清除或中断: 4.Complete:当动画完成它全部的持续时间: 5.E ...

  4. unity spine动画播放隐藏后马上显示播放抽搐的bug

    spine动画抽搐 需在setAnimation后 if (reset == 1) { sa.Update(0); sa.LateUpdate(); } 测试正常

  5. Unity_用脚本控制Spine动画播放和切换皮肤

    Spine在Unity里使用有3钟方式: SkeletonAnimation,Spine原生方式,支持所有Spine功能 SkeletonMecanim (或 SkeletonAnimator),会将 ...

  6. unity 在代码中创建spine动画组件

    项目中用到了spine动画,使用Assetbundle打包后,在手机上运行会出现丢材质的情况.如果不进行打包,直接放到Resources目录下是可以正常加载的,但是,这样包就会很大,而且也不能进行热更 ...

  7. Unity Spine SkeletonGraphic 动画重复播放 过度残影透明渐变Bug 解决方案

    Unity Spine SkeletonGraphic 动画重复播放 过度残影透明渐变Bug 解决方案 不推荐使用SetToSetupPose和Setup Pose相关,代码直接贴上 /// < ...

  8. Unity骚操作:Spine动画打包成AssetBundle资源到安卓平台时,材质丢失的问题解决方案

    目录 Spine动画打包成AssetBundle资源到安卓平台时,材质丢失. 如果真的特别需要在u3d编辑器中显示为正常,可以手动在编辑器中的右边Inspector面板重新选择一下材质球的shader ...

  9. Unity中使用动画状态机控制Spine动画

    下载Spine-Unity 为了在Unity中支持Spine动画,在http://zh.esotericsoftware.com/spine-unity-download/#Download下载spi ...

最新文章

  1. 数据结构——算法之(010)( 字符串的左旋转操作)
  2. PartitionMotionSearch()函数
  3. docker 空间满数据迁移笔记
  4. epoll、mysql概念及简单操作
  5. 百度站内搜索应该注意哪些方面?
  6. 26、python密度聚类方法(DBSCAN密度聚类)
  7. SCI-hub论文下载器(附下载方法)
  8. rqnoj71 拔河比赛
  9. 【Webpack 性能优化系列(2) - source-map】
  10. 落幕,致我的大学生活
  11. malloc失败的一个原因
  12. 【英语:基础高阶_全场景覆盖表达】K6.口语主题陈述——人物类
  13. 《富爸爸穷爸爸》阅读笔记
  14. Java字节码编程之非常好用的javassist
  15. 自媒体短视频快速吸引粉丝的诀窍
  16. 升级win11后,觉得不好用想重装win10系统?教你重装win10“精简版”
  17. 线程和进程(1)——多线程,进程与线程
  18. 痞子衡嵌入式:恩智浦SDK驱动代码风格、模板、检查工具
  19. 计算机应用基础形成性考核册答案win7,《计算机应用基础》形成性考核册答案...
  20. 程序员在线练习打字的网页

热门文章

  1. 金蝶EAS Email接口
  2. win10笔记本独显直连模式怎么开启?
  3. ad导出bom表不完整_PCB设计导出Gerber基本操作及注意事项(二)
  4. 聚焦关键要素|打造智慧园区综合运营决策平台解决方案
  5. python电脑上怎么下载-Python下载和安装图文教程[超详细]
  6. 上海调查显示:研究生生活学习缺乏规划
  7. 如何区分百兆网线和千兆网线?
  8. 软考(软件设计师)考点总结 -- 多媒体技术基础
  9. 微信订单下单管理软件怎么样?好不好用?
  10. 信号与系统自动控制理论实训QY-DPJ01