求大佬看看这个文件导入不了spine

https://www.123912.com/s/Kk2ITd-lG943?提取码:7UBt

bin那个文件才是骨骼

你把Bin的后缀改成skel然后导入spine就会报错

它的顶点坏了, 有2个网格的顶点都是0, spine识别不了所以报错

1 个赞

SG_LING_OR_wuzetianpifu1.zip (177.0 KB)
这是修好的skel, 你如果不懂结构的话, 那只能找软件解成json, 然后删掉这些空的网格

1 个赞

大佬可以教一下我嘛,因为还有几个也是这样的情况


我这边预览看着没问题,3.8.82的文件版本,运行时用的3.8.99

另外我转成json了,希望有用
SG_LING_OR_wuzetianpifu1.zip (8.8 MB)

1 个赞

我用预览工具看也是没问题的,请问大佬是怎么转成json的

一个自用工具转的,目前支持3.8的二进制转json

1 个赞

好的,非常感谢大佬

我刚刚到家试了一下,这个工具转出的json也不可用

是spine pro打不开吗,那只能手动调一下,按d-miracle说的删一下空网格(我没看内容,但是json也可以预览),估计是版本问题

我了解spine的二进制格式…所以手动改的…你让我怎么教你?

啊… 那好吧



是这俩吗

没错, 你只要把顶点填充到和uv一样的数量就行, 或者直接删掉

咋看的啊?

import json
from pathlib import Path

data = json.loads(Path("./SG_LING_OR_wuzetianpifu1.json").read_bytes())

attachments = data["skins"][0]["attachments"]

verticesall = []
for att in attachments.values():
    for k, v in att.items():
        if v["type"].lower() != "mesh":
            continue
        assert len(v["uvs"]) % 2 == 0, k
        verticesCount = len(v["uvs"]) >> 1
        vertices = v["vertices"]
        
        # 暂时不管带权重顶点
        if len(vertices) & 1:
            continue
        
        for i in range(0, len(vertices), 2):
            if abs(vertices[i]) > 1e-3 or abs(vertices[i+1]) > 1e-3:
                continue
            verticesall.append((vertices[i:i+2], v["name"]))

verticesall.sort()
print(verticesall)

临时脚本跑的,直接搜全0的顶点

让AI解释了一下,好像貌似大概懂了

我把顶点填充和uv一样的数量了,但是我没有3. 8. 82的版本,我只有3. 8. 99的版本,有没有什么方法可以导入进去