Licensing

将 Spine 官方运行时整合到自建应用程序中需要持有 Spine 许可证.

spine-unity 运行时文档

示例场景

spine-unity 运行时包含了示例场景以演示关键组件的用法和 C# API 的常见用例. 你可以在 Spine Examples 目录中找到这些场景. 每个场景均包含文本描述以帮助你快速探索场景并理解各部件信息. 以下视频概述了 spine-unity 运行时中的示例场景.

若你刚刚接触spine-unity运行时, 那么强烈建议你探索下 Spine Examples/Getting Started 中的示例场景.

Spine Examples / Getting Started

Spine Examples/Getting Started 中的示例场景演示了基本组件及基本用例.

1 The Spine GameObject

场景演示了SkeletonAnimation 组件和其引用的SkeletonDataAsset, 后者将为该组件提供基本数据.

2 Controlling Animation

该场景演示了使用 C# API 的基本动画代码 —— 即开始一段动画并对动画事件做出响应.

当按下Play键后, Spineboy将依次播放walk、run、idle和turn等动画.脚步(Footstep)事件将触发对应的音效.

你可以检查附在 spineboy GameObject上的示例脚本 SpineBeginnerTwo. 它演示了 SkeletonAnimation.AnimationState.SetAnimation()SkeletonAnimation.AnimationState.AddAnimation() 的用法. 附在 sound GameObject上的脚本 HandleEventWithAudioExample 演示了如何使用 SkeletonAnimation.AnimationState.Event 注册委托来回调自定义事件方法.

3 Controlling Animation Continued

该场景演示了如何使用多个动画轨道同时播放动画, 并展示了如何使用 AnimationReferenceAssets 找到动画而不是使用动画名称.

当按下Play键后, 将开始循环播放 walk 动画. 同时在该动画的时间窗口内还会播放次要动画 gungrabgunkeep.

你可以检查附在 raptor Skeleton GameObject上的示例脚本 Raptor. 它展示的是如何在一个组件上暴露 AnimationReferenceAsset属性, 并通过调用 SkeletonAnimation.AnimationState.SetAnimation()方法将其作为动画分配在轨道0和轨道1上.

4 Object Oriented Sample

该场景演示了如何按照模型-视图-控制器(MVC)这一面向对象的设计模式来配置一个横板游戏角色. 即使这种设计模式可能无法完美适配你的项目, 但它也会启发一些游戏设计思路, 助你厘清如何将用户输入、游戏逻辑和可视化隔离为不同组件.

当按下Play键后, 你可以用键盘WASD(移动)、空格键(跳跃)和鼠标输入(瞄准和射击)控制Spineboy角色. 另外, 你也可以通过XBOX手柄来控制它.

你可以检查附在 PLAYER INPUT GameObject上作为 controller 的示例脚本 SpineboyBeginnerInput. 它会修改 SpineboyBeginnerModel 组件的状态, 该组件作为 model 附在 PLAYER Spineboy GameObject上. 而状态的可视化是由 SpineboyBeginnerView 组件实现, 它作为 view附在了 VIEW Spineboy GameObject上. 可视化组件将负责播放同一个GameObject上的 SkeletonAnimation 组件中的各种动画.

5 Basic Platformer

该场景演示了一个典型的带动画横板游戏用例, 包含如跳、跑、下落、落地的动画, 并配有粒子和音效. 它还演示了了在Unity中如何用Spine网格来投射阴影.

请注意: 如果没有看到阴影, 请通过 Edit - Preferences - Quality - Shadows (Mac上是 Unity - Preferences)来启用阴影.

当按下Play键时, 你可以用WASD(移动)和空格键(跳跃)控制角色. 或者你也可以通过XBOX手柄来控制它.

附在 Player GameObject上的示例脚本 BasicPlatformerController 展示了如何使用Unity input来改变角色的状态, 这些状态保存在一个新建的 CharacterState 属性中. 当状态改变时会用 SkeletonAnimationHandleExample 示例脚本来过渡到新动画, 而 HeroEffectsHandlerExample 示例脚本则用来播放声音并用粒子系统产生粒子效果.

6 SkeletonGraphic

该场景演示了 SkeletonGraphic组件 的使用方式以及如何将其集成到已有的Unity UI中. 它还展示了如何使用 BoneFollowerGraphic 组件来附加文本标签以跟随骨骼位置. 你可以在 Detached BoneFollowerGraphicChild BoneFollowerGraphic 的GameObjects中找到它们.

当按下Play键后会看到一个基于Canvas的用户界面(UI), Doi和Spineboy均在这一可滚动的面板中显示. 两者都像 SkeletonAnimation 组件一样循环播放动画, 且同时也是UI的一部分.

下一节: 资产 上一节: 安装运行时