导入 Spine 文件
目前 Galacean Effects 还未支持制作骨骼动画。
但为了满足一些骨骼动画的需求,Galacean Effects 支持导入 Spine 文件,作为合成中的素材使用。
1. Spine 文件的要求【非常重要!】
1.1 软件版本
Galacean Effects 支持的 Spine 文件,需要使用 4.2 版本及以上的 Spine 软件进行制作。

如果使用 4.0 或 4.1 版本,导出数据的格式请选择 JSON:

1.2 数据版本
导出时数据可以选择 JSON 或二进制格式,若选择 JSON 格式,选择版本高于 4.0。

若选择二进制格式,请保证 Spine 软件的版本为 4.2 及以上,扩展名填写 .skel。

1.3 纹理打包配置

注意事项:
- 预乘 Alpha 选项不要勾选,Galacean Effects 产物发布会进行图片压缩。若选择 pma 会造成渲染错误:

- 运行时的过滤支持 Nearest、Linear。
- 页面大小务必选择 2 的幂次,否则发布后可能会造成 uv 错乱。
- Spine 贴图资源的大小需要符合 Galacean Effects 资源发布规则,因此页面的最大宽度和最大高度不应该大于 2048 * 2048
2. 如何导入 Spine 文件
导入 Spine 文件的三种方式
- 文件 - 添加 Spine:文件菜单下,选择添加 Spine,即可向当前项目,添加 Spine 文件。

- 资源 - 上传:在【资源】中,选择 Spine 分类,点击【+】号,即可向当前项目,添加 Spine 资源。

- 资源 - 拖拽添加:在【资源】中,选择 Spine 分类,直接将文件拖拽添加到【资源】,即完成添加。

导入的格式要求
Spine 文件会包含多个子文件,Galacean Effects 支持以下两种资源形式:
- 同批上传一个 Spine 文件的【贴图.png】+【骨骼.skel】+【描述文件.atlas 或 .json】,如下图所示。其中,atlas 和 json 等价,所以上传【.atlas + .json】或上传其中一个均可。

- 将一个 Spine 文件的贴图、骨骼和描述文件打包为一个 .zip,选择 .zip 上传。允许一次性上传多个 .zip 文件,但每个 zip 中只允许包含 1 个 Spine 文件的子文件。
上传到 Galacean Effects 的 Spine 文件会以贴图为缩略图展示在【资源】-【Spine】分类下。

将 Spine 资源应用到元素
通过【添加渲染插件】-【添加 Spine】,在画布中添加一个Spine 元素。

添加后,Spine 元素会显示为一个空包围盒。

点击右侧【参数面板】中的图片框,会自动跳转到【资源】的【Spine】分类,选择文件应用即可。

右侧参数面板,可以选择 Spine 文件对应的皮肤、动画。

注意:
Spine 导出的文件名默认为骨架名,如果在一个合成中需要导入多个 Spine 文件,请确保这些 Spine 文件使用不同的骨架名,否则可能导致贴图错乱。
导入的尺寸变化
由于 Spine 中画布的单位是像素,Galacean Effects 元素的大小表示在三维空间中的大小,二者不一致,因此会对 Spine 按照比例:1 / 包围盒宽度进行缩放,如果需要切换动作/皮肤时保持整体在 Galacean Effects 中呈现的大小一致,请保证在 Spine 中每个动作/皮肤的初始帧包围盒一致。
3. Spine 的设置
导入的 Spine 文件,不支持修改锚点,只会以 Spine 文件自身的控制点为元素锚点。
Spine 中画布上大小的数值不代表在 Galacean Effects 中导入后的大小绝对值,导入 Galacean Effects 后会根据皮肤/动作第一帧的包围盒大小进行缩放,可以在导入后通过【缩放比例】参数再进行尺寸调节。
Spine 作为元素,可以在 Galacean Effects 中认父空节点。K 帧空节点,相当于将 Spine 文件做为一个整体对其K 帧。

Spine 的参数设置
- 缩放比例:以原元素大小为 1.00,缩放比例为其倍数。
- 动画选择:读取 Spine 中制作的动画,通过下拉列表选择,即可播放不同的动画。
- 皮肤选择:读取 Spine 中的皮肤设置。通过下拉列表选择,即可切换不同皮肤。
- 元素时长:可以通过【元素时长】调整 Spine 元素的动画速度。一个原本 2 秒的动画,将元素时长设置为 1 秒,动画速度加快 100%。反之,如果将动画时长拉长,则动画速度减慢。


- 渲染延时:元素开始的时间。
- 结束行为:与 Galacean Effects 的其他元素一样,可以为 Spine 元素设置结束行为。包括:销毁、冻结、循环。