第七史诗(EpicSeven) Scsp3.8.99 解析 json骨骼

第七史诗(EpicSeven)

scsp有两个版本v2 和 v3,v2 (2.1.27)我记得之前有人做过了。
这里给出v3的解析方法,但是有点问题。

反编译libur.so

unsigned __int64 __fastcall spine::SkeletoneSCSPLoader::load
__int64 __fastcall spine::v3::SkeletonDataLoader::load
__int64 __fastcall sp_bin_stream::decode

可以得到v3 scsp结构

uncompressed_size 4B | compressed_size 4B|
LZ4 compressed data:
    data_size(uint32) 4B | string_size(uint32) 4B | 
    binary_data | (data_size)B
        SCSP Magic 4B | Version(uint32) 4B |
        data (data_size - 8)B
    string_pool | (string_size)B 

目前存在一个小问题,当前在convert_scsp_to_json 中使用 special_process进行了临时处理,但是有些模型会没有嘴巴,比如:


如果不进行这个处理,切换到normal这个skin时会有两张脸重合,如果关掉对应的插槽(也就是上面的那个特殊处理,有的模型就会正常显示,有的就会没嘴巴)

我是修不动了,会改的可以拉个PR
抛砖引玉,具体解析如下:
E7_Scsp2Json.py

2 个赞

感谢分享:folded_hands:,之前站内发过好像也是spine3.8的,2.1的好像没有

epic7_scsp2json_v1_0.zip (3.2 MB)这个是国外的那个2.1.27scsp的工具,不过有些瑕疵,需要特殊方法去修改才能看,可以用之前论坛那个查看器来更改Live2d-SpineViewer - 讨论 - Live2DHub

1 个赞