近来水群时突然发现,2026年大作樱姬6发售了(火星救援),也是马上下载下来游玩品鉴了一番。游戏体验暂且不提,咱就是说,一个CG集,每次想看的时候还要额外启动一个游戏也太不友好了吧。网上找了一圈也没见到有人提取CG。本着“自己动手丰衣足食”的理念,咱们就来自己动手。

准备工作

游戏的动画是用Spine实现的。以游戏的主题图CG为例。你需要从游戏里提取出 Theme.pngTheme.altasTheme.skel 三个文件,如何从游戏里解包出这些资源暂且按下不表。这里假设你已经拿到了相关的文件。将这三个文件放在同一个文件夹下。

接下来需要准备的工具有:

  • Spine pro(网上大把的学习版资源,这里使用流传最多的 Spine Pro 3.8.75)

导入 Spine

  1. 打开Spine,新建一个项目,点击左上角的Sping徽标->导入数据。此处文件选择上面上面的 skel 文件。其余保持默认即可。点击导入。

  2. 导入后,模型会显示为占位符,是因为我们还没有选择纹理集导致的。别担心。再次点击右上角 Spine 徽标,选择 纹理解包器 ,图集文件选择上面提取的 skel 文件,在同级目录下新建一个文件夹,命名为 images ,设置为输出文件夹。

  3. 勾选 非预乘alpha (如果不勾选的话,解包出的材质会有一圈灰边),然后点击 “解开”

  4. 解开纹理集后,还需要更新模型的纹理集。在左侧的 层级树 窗口,手动选择路径,选择上面的 images 文件夹,然后确定。此时就能看到预览区域已经加载了新的纹理集。

  5. 此时 Spine 会提示你 “已重新调整网格大小,是否缩放纹理坐标”,我们选择“否”,导入后效果如下所示。

  6. 仔细看模型,会发现有部分纹理的大小不对,比如上面的栏杆,因此还需要进一步调整。

调整缩放

获取缩放比例

在调整纹理的缩放之前,我们需要知道受影响的纹理的显示大小实际大小各是多少,这样才能正确地计算缩放比例。

  1. 获取显示大小

  1. 此处以背景的栏杆为例。找到右边的“层级树”窗口,筛选“插槽”,鼠标停留在某一个项上面时,会高亮显示对应的纹理。此时我们知道栏杆对应的名称是 ml

  2. “独奏”这个图层。选中除 ml 外的其他所有插槽,点击前面的圆点标记即可批量隐藏图层。

  3. 点击左上角的Spine徽标,选择导出,类型选择PNG。导出的位置自行选择。帧范围选择0-0,也就是动画的第一帧。(因为模型已经有做好的动画,如果不选择范围,会将这个图层的每一帧都导出为单独的图片),其余选项默认即可。

  4. 查看导出后图片的大小,为 1243*523 像素。即为显示大小。

  5. 获取实际大小,这里有两种方法:

  • 将鼠标悬停在层级树对应的图层上,即可预览纹理和它的大小,此处显示的实际大小是 2344*986 像素

  • 或者也可以打开之前的 atlas 文件,搜索 ml ,可以看到下面的代码,其中 2344*986 即为实际大小:

    ml
      rotate: true
      xy: 2348, 1749
      size: 2344, 986
      orig: 2344, 986
      offset: 0, 0
      index: -1
  1. 易得到放大比例约为 1.886。

缩放图层

缩放图层时需要找到受到影响的图层,一般而言,受影响的图层仅限于没有网格定义的图层,这些图层很容易就能被筛选出来。

  1. 先还原上一步被隐藏的所有插槽。

  2. 重置筛选器,筛选区域,然后筛选附件,就能筛选出我们需要的图层了。

  3. 全选选择筛选出来的图层,在预览窗口下面的 Transform 里的缩放中,填入我们刚刚算出的比例。

预览和导出动画

上面的步骤做完后,我们已经还原了这些图层不正确的缩放比例。接下来可以切换到动画模式(点击左上角的设置/动画指示器),或者使用 Ctrl+Tab 快捷键,然后在右边的层级树窗口/动画中选择要预览的动画即可预览对应动画。

点击左上角的 Spine 徽标/导出即可将动画导出为视频/GIF。