[{"data":1,"prerenderedAt":198},["ShallowReactive",2],{"wiki-doc-spine-binary":3,"index_wiki":174},{"id":4,"title":5,"ModelAssets":6,"ModelName":6,"ModelPortrait":6,"ModelQuality":6,"body":7,"categories":149,"date":151,"description":152,"draft":153,"extension":154,"image":155,"meta":156,"navigation":158,"path":159,"permalink":6,"published":6,"readingTime":160,"recommend":6,"references":6,"seo":165,"sitemap":166,"stem":167,"subtitle":6,"tags":168,"type":172,"updated":151,"__hash__":173},"content\u002Fwiki\u002Fspine-binary.md","3.5 二进制骨架格式速查",null,{"type":8,"value":9,"toc":140},"minimark",[10,14,28,31,34,44,51,54,60,67,70,76,106,109],[11,12,13],"h2",{"id":13},"字节序",[15,16,17,18,22,23,27],"p",{},"Spine 3.5 的二进制由 libgdx 的 ",[19,20,21],"code",{"code":21},"DataOutput"," 写出，因此 ",[24,25,26],"strong",{},"float \u002F int \u002F short 全部是大端","，只有长度和索引是 varint（7 位一组、低位优先）。",[15,29,30],{},"::: tip\n按小端读会出现「骨骼数量正常、但坐标变成 1e25」的现象——数组长度是对的，浮点数全错。\n:::",[11,32,33],{"id":33},"文件头",[35,36,42],"pre",{"className":37,"code":39,"language":40,"meta":41},[38],"language-text","hash:          string（长度前缀 + UTF-8）\nversion:       string（如 3.5.51）\nwidth, height: float32 × 2\nnonessential:  bool\n  └ fps:       float32\n  └ images:    string\n","text","",[19,43,39],{"__ignoreMap":41},[15,45,46,47,50],{},"紧随其后依次是：",[19,48,49],{"code":49},"bones → slots → ik → transform → path → defaultSkin → 额外皮肤 → events → animations","。",[11,52,53],{"id":53},"骨骼",[15,55,56,57,50],{},"每条骨骼读取：",[19,58,59],{"code":59},"name, parentIndex(可无), rotation, x, y, scaleX, scaleY, shearX, shearY, length, transform(可无)",[15,61,62,63,66],{},"注意 ",[19,64,65],{"code":65},"parentIndex"," 只有根骨骼没有，读取时必须先判断是否还有字节。",[11,68,69],{"id":69},"动画时间轴",[15,71,72,73,50],{},"一个动画内按顺序包含：",[19,74,75],{"code":75},"slots → bones → ik → transform → path → deform → drawOrder → events",[77,78,79,89,97],"ul",{},[80,81,82,85,86],"li",{},[24,83,84],{},"rotate \u002F translate","：",[19,87,88],{"code":88},"帧数 + [时间, 角度\u002F坐标...]",[80,90,91,85,94],{},[24,92,93],{},"scale",[19,95,96],{"code":96},"帧数 + [时间, x, y]",[80,98,99,85,102,105],{},[24,100,101],{},"deform",[19,103,104],{"code":104},"帧数 + [时间, 顶点数, 顶点...]","，其中「顶点数」为 0 表示该帧没有关键帧，读取端应回落到原值",[11,107,108],{"id":108},"排错清单",[110,111,112,118,124,130],"ol",{},[80,113,114,117],{},[24,115,116],{},"坐标为天文数字"," → 字节序反了",[80,119,120,123],{},[24,121,122],{},"动作列表数量对、播放异常"," → 时间轴某个循环提前结束",[80,125,126,129],{},[24,127,128],{},"网格撕开"," → deform 的帧结构读错，通常是漏了「无关键帧」分支",[80,131,132,135,136,139],{},[24,133,134],{},"贴图错位"," → 图集页名匹配失败，检查 ",[19,137,138],{"code":138},".atlas"," 首页名与实际文件名是否一致",{"title":41,"searchDepth":141,"depth":141,"links":142},4,[143,145,146,147,148],{"id":13,"depth":144,"text":13},2,{"id":33,"depth":144,"text":33},{"id":53,"depth":144,"text":53},{"id":69,"depth":144,"text":69},{"id":108,"depth":144,"text":108},[150],"模型图鉴","2026-10-31 09:20:00","解析 .skel 时最容易踩的坑：字节序、文件头字段顺序、动画时间轴与蒙皮变形。",false,"md","\u002Fwiki\u002Fcover-spine-binary.svg",{"slots":157},{},true,"\u002Fwiki\u002Fspine-binary",{"text":161,"minutes":162,"time":163,"words":164},"2 min read",1.385,83100,277,{"title":5,"description":152},{"loc":159},"wiki\u002Fspine-binary",[169,170,171],"Spine","二进制","文档","wiki","vweDsrEl-8gSqNxziHI1Y3oZ3nQ2cuDYT24hy9gCVjo",[175,186,189],{"categories":176,"date":178,"description":179,"image":180,"path":181,"tags":182,"title":185,"type":172,"updated":178},[177],"站点魔改","2026-10-31 09:40:00","导航、侧栏、页脚这些「一改就乱」的地方分别在哪里配置，以及改动后怎么自测。","\u002Fwiki\u002Fcover-site-mod.svg","\u002Fwiki\u002Fsite-mod",[183,184,171],"Nuxt","配置","站点魔改速查",{"categories":187,"date":151,"description":152,"image":155,"path":159,"tags":188,"title":5,"type":172,"updated":151},[150],[169,170,171],{"categories":190,"date":191,"description":192,"image":193,"path":194,"tags":195,"title":197,"type":172,"updated":191},[150],"2026-10-31 09:00:00","把一份 .skel \u002F .atlas \u002F 贴图接进模型图鉴的完整流程，包含目录约定与 frontmatter 字段说明。","\u002Fwiki\u002Fcover-spine-model.svg","\u002Fwiki\u002Fspine-model",[169,196,171],"模型","Spine 模型接入指南",1794064386299]