碧蓝航线Spine提取与查看

@Pelom  October 12, 2021

前言

优质的沙雕小人堪称碧蓝航线的一绝。在碧蓝航线(大多数游戏)中这种被称为SD(Super Deformed)小人的文件由Spine制作。由于Spine有各种平台的运行库,要想把游戏中的小人复现是很方便的。但是由于不同版本的Spine模型的参数设置不同,需要注意制作时所使用的Spine版本(我就被坑了)。

预先准备

  • AssetStudio

步骤

  1. 打开手机或模拟器,安装碧蓝航线并更新,spine文件位于Android/data/com.bilibili.azurlane/files/AssetBundles/char/,全选并移动至电脑
    1
  2. 打开 AssetStudio ,勾选Options – Display asset original name,下拉框选择Group by type,用File – load folder载入所有文件
  3. 点击Asset List,点击Type,选择所有TextAssetTexture2D类型,选择Export – Filtered assets导出
  4. 此时导出目录下有TextAssetTexture2D两个文件夹,在TextAsset文件夹下cmd执行ren *.txt *.
    将所有文件后缀中的.txt删去,再将两个文件夹中的文件移动到一起,将文件名相同的(3个)文件放在同一个文件夹下
    2
    3

spine提取完成,下面可以使用官方提供的各种平台的运行库进行查看,碧蓝航线的spine版本为3.6.52,请注意运行库版本

使用Skeleton Viewer查看

Skeleton Viewer是Spine提供的一款模型查看工具,需要Java环境,官网处有使用说明
4
该软件当模型过大的时候似乎会出问题

使用浏览器查看

在github下载3.6.52版本的spien-ts/webgl运行库,然后。。。
然后你会发现这个版本的运行库只支持读入.json文件(而我们刚刚提取出来的是.skel文件(二进制))
当然,解决办法还是有的,比如将.skel文件转为.json文件(github上有现成的工具)。但这样每次更新都要转,感觉比较麻烦
于是我就尝试使用高版本的运行库,但是进入浏览器后什么也看不见,进入控制台才发现模型根本没有读入进去。这就是之前说的模型参数设置不同,要是是.json文件还好办,但是这是二进制文件,根本不知道什么参数在什么位置
这时候我灵机一动(闲的蛋疼),参考3.6.52版本的C运行库把高版本webgl运行库中多出来的读取参数的代码注释掉,于是就有了这份杂交版的运行库
但奇葩的是一堆.skel中又混了一个.json的,不知道瓜游的程序员在想什么

预览:碧蓝航线SD小人图鉴

  • github(国外,可能较慢)
  • gitee(国内,较快)
5
谁能拒绝猫猫呢

下载

引用


请勿用作商业用途


添加新评论

  1. Krmoon

    非常感谢,对我的问题很有帮助。

    Reply
  2. Krmoon

    额。。运行库怎么使用啊

    Reply
  3. test

    Reply