美文网首页Spine技巧大全
spine-unity整体结构

spine-unity整体结构

作者: _小圆球_ | 来源:发表于2020-07-28 14:09 被阅读0次

spine-unity的功能由以下几个组件组成:

  • spine-csharp
  • spine-unity
  • ... Unity.

spine-csharp

spine-csharpspine运行库使用C#接口的公共核心。
你可以在Spine编辑器中看到这个公共核心包含的类型和数据结构的代码,其中包括Skeleton, Bone, Slot, Skin, Attachment,Animation
它会将JSON(.json)二进制(在Unity中显示为.skel.bytes)的骨架数据反序列化然后写进SkeletonData对象模型中。
它包含了基本的AnimationState实现、Spine的基础、以及直接可以使用的动画控制。所有的类都是在Spine命名空间下。

有状态stateful vs 无状态 stateless

Spine的核心类(定义在spine-csharp中)主要分为stateful-instancestateless-data这两种:

类似SkeletonBoneSlotAnimationState这些类都是有状态的对象,对它们进行修改不会影响到其它实例。你可以翻转Skeleton、复位Bone、修改Slot或者改变AnimationState的时间轴,并且它只适用于单例。
类似SkeletonData, Animation, Attachment, BoneData, SlotData这些类都是无状态的对象,设计初衷就是让他们可以被所有Skeleton实例交叉访问(比如每个Spine GameObject可以创建一个骨架)。通常,你不应该去改动这些无状态的对象。

  • 如果想得到有状态的对象,你可以使用Skeleton。(比如:设置骨架的姿势或者替换一个槽的附件)
  • 如果想得到无状态的对象,你可以使用SkeletonData。(比如:想要获得一些信息,例如Animation的持续性、Event、或者Setup/Bind姿势)

spine-unity大部分的周期管理方法都依靠spine-csharp遵循的UnityEngine的生命周期和游戏循环。 但是它也包含主要的渲染代码(在.LateUpdate中)将Spine骨架转化为可见网格。

spine-unity也在编辑器和运行时管理spine-csharp类的反序列化和实例化。

在编写脚本的时候,请注意:所有的spine-csharp都应该在Awake中实例化。这意味着不能随意控制脚本执行顺序,不然不能保证当Awake被调用时已经实例化骨架和动画状态。

你应该在Start之后访问(或缓存).state.skeleton引用

SkeletonAnimator允许用户使用Mecanim动画控制器控制动画。 SkeletonUtility允许Spine.BonesUnityEngine.Transform之间进行转换。 这可以让你控制UnityEngine.Transform驱动Bone,或者让GameObject随着Bone运动

控制动画

一般来说,Spine.AnimationState 管理时间轨道、更新骨架、队列、分层以及混合/交叉混合动画。
但是Spine.AnimationState是一个C#类。要在Unity使用它,有一个包含MonoBehaviourSpine.AnimationState对象叫做SkeletonAnimation。你可以在SkeletonAnimation里面找到一个叫做state的成员变量,它是Spine.AnimationState对象的引用。
SkeletonAnimation既管理更新时间,也生成Mesh对象,因为它是SkeletonRenderer的派生类。你可以把骨架数据资源实例化成Spine GameObject然后挂到GameObject上。你可以称SkeletonAnimationSpine组件

相关文章

  • spine-unity整体结构

    spine-unity的功能由以下几个组件组成: spine-csharp spine-unity ... Uni...

  • linphone整体结构

    Description Linphone is an open source SIP Phone, availab...

  • PMP整体结构

    5大过程组: 启动过程组 规划过程组 执行过程组 监控过程组 收尾过程组 10大知识领域: 项目整合管理 项目范...

  • 本书整体结构

    分成5个部分: 证明 结构 计数 概率 递归 第1部分:证明 共计8个章节,依次是: 第1章 什么是证明? 第2章...

  • jQuery整体结构

    核心函数和一些静态属性 继承方式添加方法

  • Dubbo - 整体结构

    1,Dubbo整体结构 1)provider和consumer基于相同的接口进行服务通信。底层是客户端proxy调...

  • JVM整体结构

    1、类加载子系统 : 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内...

  • 论文整体结构

    ⼀篇期刊论文、学位论文的构成 (中英文都适用) 1. 摘要 简要概述本文用什么方法?研究了什么?发现什么现象、规律...

  • 工作交接

    **(一)首页的整体结构 ** 整体采用ViewPager + Fragment的结构,共有“首页”,“比赛大厅”...

  • 战斗军团总体游戏策划案

    整体结构:

网友评论

    本文标题:spine-unity整体结构

    本文链接:https://www.haomeiwen.com/subject/zwzxrktx.html