【Unity】如何使用Spine动画

1.下载,选择自己需要的版本下载

下载链接:http://zh.esotericsoftware.com/spine-unity-download请添加图片描述

2.下载完,导入Unity里

在这里插入图片描述

3.把美术文件拖入Unity里,会自动生成Spine数据

在这里插入图片描述
①_Atlas 文件是texture atlas文件 (.atlas.txt). 它包含对material和 .atlas.txt 文件的引用.
②_Material 包含了各个 texture atlas页 (.png). 它包含对着色器和 .png texture的引用.
③_SkeletonData 存储了skeleton数据 (.json, .skel.bytes). 它包含了对 .json 或 .skel.bytes 文件以及生成的 _Atlas 资产的引用. 它还为skeleton提供了自定义的导入和动画设置

4.Spine设置

在这里插入图片描述

  • Show Hierarchy Icons. 层次结构面板中带有Spine组件的 GameObjects 旁显示相关图标.
  • Auto-reload scene components. 每当场景中的skeleton组件的SkeletonDataAsset被修改时, 都会自动重新加载. 当你的场景有大量的 SkeletonRenderer 或 SkeletonGraphic 组件时, 自动加载操作可能会很慢.
  • Reload SkeletonData after Play. 当启用该选项时, 在退出Play模式后, 运行时将(从.json或.skel.bytes文件)重新加载活动场景中所有Skeleton的共享SkeletonData. 这可能会延长项目的加载等待时间, 但可以防止在Play模式下对共享的SkeletonData进行的修改, 其影响被(意外地)带入到后续游玩中.
  • Auto-Import Settings
    ①Default Mix. 设置新导入的SkeletonDataAssets的 Default Mix Duration.
    ②Default SkeletonData Scale. 设置新导入的SkeletonDataAssets的默认 Scale 值.
    ③Default Shader. 设置新导入的skeleton atlas textures创建materials时使用的默认着色器.
    ④Apply Atlas Texture Settings. 对下方指定的texture导入器应用参考的 Atlas Texture Settings .
    ⑤Atlas Texture Settings. 在新导入的atlas textures 和 materials上应用选定的texture导入设置. 当从Spine导出atlas textures并启用 Premultiply alpha (默认为此)时, 你可以将其保持为 PMATexturePreset. 如果你已经禁用了 Premultiply alpha, 请将其设置为 StraightAlphaTexturePreset. 你也可以新建自己的 TextureImporter Preset 资产并分配于此处.
    ⑥Additive Material. 设置槽位blend模式为 Additive 的Material模板
    ⑦Multiply Material. 设置槽位blend模式为 Multiply 的Material模板
    ⑧Screen Material. 设置槽位blend模式为 Screen 的Material模板
  • Warnings
    ①Atlas Extension Warning. 每当发现一个 .atlas 文件时, 均在日志中给出警告和建议
    ②Texture Settings Warning. 每当检测到texture导入设置可能导致不佳效果(例如白边伪影)时, 均在日志中给出警告和建议.
    ③Component & Material Warning. 当组件和Material设置不兼容时, 输出警告和建议.
    ④SkeletonDataAsset no file Error. 当从 SkeletonDataAsset 查找 SkeletonData 时, 若没有正确赋值json或二进制文件对象则输出一个错误.
  • Editor Instantiation
    ①Default Slot Z-Spacing. 设置新实例化的 SkeletonRenderer 或 SkeletonGraphic组件的默认 Z Spacing 参数.
    ② Default Loop. 设置新实例化的SkeletonRenderer 或 SkeletonGraphic组件的默认的 Loop 参数.
  • Mecanim Bake Settings
    ①Include Folder Name in Event. 当启用该项时, Mecanim事件将调用名为 “FolderNameEventName” 的方法; 当禁用时则调用 “EventName” 的方法.
  • Handles and Gizmos
    ①Editor Bone Scale. 设置场景视图中显示的骨骼和gizmo元素的尺寸.
  • Prefabs
    ①Fix Prefab Overr. MeshFilter. 该项管理了同名skeleton组件检查器里 Advanced 面板参数的全局设置. 当组件参数被设置为 Use Global Settings 时将会使用这里的参数设置.
    ②Optimize Preview Meshes. 启用后将在预构建步骤中移除Spine prefab预览网格以减少构建的空间占用. 这将延长构建时间, 因为项目中的所有prefabs都将被处理.
  • Timeline Extension
    ①Default Mix Duration. 设置新创建的 Spine Animation State Clips的默认 Default Mix Duration 参数.
    ②Use Blend Duration. 设置新创建的 Spine Animation State Clips的默认 Use Blend Duration 参数.

5.创建一个空的GameObject,加入组件,Spine有三种实例化skeleton

  • SkeletonAnimation:使用Spine定制的动画和事件系统, 提供最高的可定制性. 渲染使用的是 MeshRenderer, 可以像Unity sprite一样与 SpriteMask 等遮罩进行交互. 在Unity中推荐以这种方式使用Spine skeleton.
  • SkeletonGraphic (UI) :UI上展示使用这个
  • SkeletonMecanim:使用Unity的Mecanim动画和事件系统来启动、mix和过渡动画. 与SkeletonAnimation相比,提供的动画mix和过渡选项较少.当使用 SkeletonMecanim 时, 无法保证动画过渡看起来和Spine Editor中的预览一致.

在这里插入图片描述

6.拖入skeleton数据

在这里插入图片描述

7.如果出现如图这种显示问题,别着急,只是美术给的动画默认值不是default

在这里插入图片描述

8.重新选择Skin,如果还是不显示,reload一下就可以了。

在这里插入图片描述

9.SkeletonAnimation组件参数

在这里插入图片描述

  • Initial Skin. 该皮肤将在动画开始时显示.注意:如果你看到的skeleton没有附加任何图像,可以切换到 default 以外的皮肤来显示皮肤.
  • Animation Name. 该动画将在开始时播放
  • Loop. 定义初始动画是循环播放还是只播放一次.
  • Time Scale. 设置时间比例来减慢或加快动画的播放速度.
  • Unscaled Time. 当置为true时, 更新将根据Time.unscaledDeltaTime时间而非Time.deltaTime进行. 这对于不适用慢动作效果的动画UI元素来说非常有用.

10.程序调用

  • 动作完成回调
		Transform role = this.transform.Find("root/role");skelet = role.GetComponent<SkeletonAnimation>();Spine.AnimationState animationState = skelet.AnimationState;//动作完成后的回调animationState.Complete += OnSpineAnimationComplete
  • 更换皮肤
bool success = skeletonAnimation.Skeleton.SetSkin("skinName");skeletonAnimation.Skeleton.SetSlotsToSetupPose()
  • 设置动作
//要设置一个动画,需要确定轨道索引(index)、动画名称和是否循环动画
TrackEntry entry = skeletonAnimation.AnimationState.SetAnimation(trackIndex, "walk", true);
  • 动画队列
//要排队动画, 需要提供轨道索引、动画名称、是否循环播放该动画, 以及该动画在轨道上开始播放的延迟时间(以秒计).
TrackEntry entry = skeletonAnimation.AnimationState.AddAnimation(trackIndex, "run", true, 2);
  • 播放速度
skeletonAnimation.timeScale = 1.2f;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2803794.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

5分钟让你搞懂什么是Http协议

计算机网络基础课程是计算机专业方向非常重要的一门功课。 所有的互联网都通过网络协议来建立通信连接。 而http协议又是一种无状态的协议&#xff0c;也是工作中最常用的一种基于Web浏览器的网络通信协议。 如何学习http协议&#xff1f;提供三种方法供参考&#xff1a; 第…

liunx文件权限和内核

liunx文件权限和内核 liunx内核liunx权限liunx用户用户的切换liunx文件权限属性liunx文件默认权限liunx文件权限的粘滞位 liunx内核 liunx内核模拟图 在liunx中内核可以想象成一堆软件。由于内核过于复杂&#xff0c;我们并不想直接操作内核。因为内核1. 内核过于复杂&#x…

为什么0.1+0.2不等于0.3

一、JS内部的计算是以二进制形式进行的 js里整数和小数转为二进制形式的方法是不一样的&#xff1a; 二、Number类型使用IEEE754标准64位存储 双精度浮点数&#xff08;double类型&#xff09;为每个数分配64位空间&#xff0c;并以科学计数法的方式存储&#xff1a; 那么对于…

iOS整理 - 关于直播 - 搭建服务端

前言 其实本人一直都想自己简单做一套直播&#xff08;包括移动端和服务端&#xff09;的开发测试&#xff0c;但是之前一直做得比较迷茫。最近偶然间在来了灵感&#xff0c;瞬间解除了我很多疑惑。我会分享出来&#xff0c;希望大家一起研究下。稍后&#xff0c;我完整做好了…

链表和顺序表的优劣分析及其时间、空间复杂度分析

链表和顺序表的优劣分析及其时间、空间复杂度分析 一、链表和顺序表的优劣分析二、算法复杂度<font face "楷体" size 5 color blue>//上面算法的执行次数大致为&#xff1a;F&#xff08;N&#xff09; N^22*N10;   N 10,F(10) 1002010 130次   N 1…

软件提示找不到MSVCP140.dll是什么意思,修复MSVCP140.dll丢失的多个方法

msvcp140.dll 文件是 Microsoft Visual C 运行时库的一部分&#xff0c;具体来说它是 Visual Studio 2015 版本编译的C应用程序所依赖的一个动态链接库&#xff08;DLL&#xff09;文件。这个 DLL 文件包含了大量由Microsoft开发的标准C库函数&#xff0c;这些函数对于许多在Wi…

python实现维特比算法

对于维特比算法,首先想到的就是高通公司,对于现在的通信行业的两大巨头公司之一,高通公司的发家是由器创始人维特比发明了一种高效的通信解码技术,维特比算法。 对于维特比算法是什么,以一个例子来讲述什么是维特比算法,假设由一个村庄,某村民的身体在每天只会出现3种,…

服务器内部大揭秘(CPU、内存、硬盘)

晚上好&#xff0c;我的网工朋友。 服务器作为网络的节点&#xff0c;存储、处理网络上80&#xff05;的数据、信息&#xff0c;被称为互联网的灵魂。 它不仅是一个简单的机器&#xff0c;更像是一个精密的工程&#xff0c;由多个关键组件相互配合&#xff0c;以实现高效的数…

集合、List、Set、Map、Collections、queue、deque

概述 相同类型的数据进行统一管理操作&#xff0c;使用数据结构、链表结构&#xff0c;二叉树 分类&#xff1a;Collection、Map、Iterator 集合框架 List接口 有序的Collection接口&#xff0c;可以对列表中的每一个元u尿素的插入位置进行精确的控制&#xff0c;用户可以根…

数据库面试题汇总,助你轻松应对面试!

考虑到最近有些小伙伴准备跳槽&#xff0c;所以更新一些数据库相关的面试题&#xff0c;希望能帮到大家&#xff01; 一 请写出创建表的基本语法结构&#xff1f; 创建表的基本语法结构如下&#xff1a; CREATE TABLE IF NOT EXISTS 表名(字段名1 字段类型,字段名2 字段类型 …

哪个蓝牙耳机好用?2024最新蓝牙耳机选购指南,实测避坑!

​蓝牙耳机已成为现代生活中不可或缺的一部分。无论你是追求高品质音质、注重佩戴体验&#xff0c;还是在意性价比&#xff0c;市场上总有适合你的那一款。希望通过我的推荐和分析&#xff0c;你能找到一款真正适合自己的蓝牙耳机&#xff0c;让你的音乐之旅更加精彩。 一、选购…

【2024软件测试面试必会技能】Charles(6):Charles设置弱网

设置弱网&#xff08;慢网速&#xff09; 方法一&#xff1a;点击Charles 上方的乌龟标志&#xff0c;模拟网络延迟&#xff1b; 方法二&#xff1a;点击Proxy——Throttle Settings——勾选Enable Throttling——再勾选Only for selected hosts——点击Add,设置指定的域名——…

【Vuforia+Unity】AR05-实物3D模型识别功能实现(ModelTarget )

不管是什么类型的识别Vuforia的步骤基本都是&#xff1a; 把被识别的物体转成图、立体图、柱形图&#xff0c;3D模型、环境模型&#xff0c;然后模型生成Vuforia数据库-导入Unity-参考模型位置开始摆放数字内容&#xff0c;然后参考模型自动隐藏-发布APP-识别生活中实物-数字内…

kettle计算增长率

kettle计算增长率 问题描述处理方法 问题描述 读取一段时间内的数据记录&#xff0c;计算相邻记录的比率 iddatevalue12024-01-0110012024-01-0211012024-01-0312012024-01-0490 处理方法 1.使用统计中的分析查询节点能在每一行中添加前后行的数据 2.使用计算器节点计算比…

蓝牙耳机哪个品牌质量好?2024超高性能机型比拼推荐

​无线耳机已经成为现代生活中的必备数码产品&#xff0c;尤其在感受到无线带来的自由后&#xff0c;很难再适应有线耳机的束缚。因此&#xff0c;耳机市场竞争激烈&#xff0c;各种类型和外观的耳机层出不穷。在此&#xff0c;我为大家总结了五款使用体验很不错的蓝牙耳机&…

ESP8266智能家居(1)——开发环境的搭建

1.前期介绍 本次打算使用esp8266的开发板——NodeMCU&#xff0c;进行物联网相关项目的学习。开发环境使用Arduino软件。 NodeMCU实物图为&#xff1a; 开发环境截图为&#xff1a; 2.软件下载 我使用的arduino版本为1.8.5&#xff0c;其安装包如下&#xff1a; 【免费】ar…

区块链笔记(五)---德勤相关分析报告

web3.0 定义&#xff1a; 在《Insights into a Modern World》提出&#xff0c;“信息将由用户自己发布、保管、不可追溯且永远不会泄露&#xff0c;用户的任何行为将不需要任何中间机构来帮助传递”&#xff1b;用来指代一种区块链技术&#xff0c;可以基于“无须信任的交互…

2024年阿里云新用户购买云服务器有哪些优惠活动?

2024年阿里云服务器购买、续费、升级优惠政策整理&#xff0c;阿里云服务器优惠价格表&#xff1a;轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年&#xff0c;云服务器4核16G10M带宽26元1个月、149元半年&#xff0c;阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价…

精酿啤酒:麦芽与啤酒花搭配的奥秘

麦芽和啤酒花是啤酒酿造过程中不可或缺的原料&#xff0c;它们的风味和特点对啤酒的口感和品质产生着深远的影响。Fendi Club啤酒在麦芽与啤酒花的搭配方面有着与众不同的技巧和见解&#xff0c;让啤酒的口感更加丰富和迷人。 首先&#xff0c;麦芽的选择是啤酒酿造的关键之一。…

springboot211基于springboot医疗报销系统的设计与实现

医疗报销系统的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;报销单信息因为其管理内容繁杂&#xff0c;管理数量繁多…