bin那个文件才是骨骼
你把Bin的后缀改成skel然后导入spine就会报错
它的顶点坏了, 有2个网格的顶点都是0, spine识别不了所以报错
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的版本,有没有什么方法可以导入进去