跳到主要内容

格式(Format)

Runtime Format 概览

Rive 编辑器导出 .riv 二进制文件,包含 Artboards、Shapes、Animations、State Machines 等数据。

设计目标:

  • 快速加载
  • 小体积
  • 面向未来特性的前向兼容

二进制基础类型

  • varuint(LEB128)
  • uint(4 bytes)
  • string(长度 + utf-8)
  • float(IEEE754 32-bit)

字节序:Little Endian。

Header 关键字段

  • Fingerprint(RIVE
  • Major Version
  • Minor Version
  • File ID
  • ToC(Table of Contents)

版本兼容规则

  • Major 不兼容:如 runtime 仅支持 7,则不能读 6
  • Minor 通常兼容:旧 runtime 可加载新 minor 文件,但不支持的新特性会退化为 no-op

ToC 的作用

ToC 记录属性 key 与其底层类型,帮助 runtime 在遇到未知属性时安全跳过,避免读偏移错误。

内容区(Content)

文件主体是对象序列;每个对象由 type key + property 列表组成,属性列表以 0 终止。

对象/属性定义来源于 Core Definitions(JSON defs),运行时代码据此生成序列化/反序列化逻辑。

导入上下文与层级

对象读取依赖上下文(例如 KeyFrame 总是在某 LinearAnimation 后出现)。

Artboard 内父子层级通过 id/index 映射建立。

参考