assetstudio 中文文档 下载 App

Classes 类结构标签页 — 按 Unity 版本分组的 TypeTree 查看器

Classes 标签页是什么

AssetStudio 的第三个左侧标签页是 Classes——它不是资源列表的一部分,而是一个 Unity 类型结构浏览器。面板里按 Unity 版本分组展示所有内置类型(Class ID + 类型名),选中一个就能看到它的完整 TypeTree。

为什么要看 TypeTree

Unity 引擎把序列化的资源数据按 TypeTree 定义的字段布局写入文件。TypeTree 相当于每个类的"内存布局说明书"——它告诉你这个类有哪些字段、每个字段什么类型、在内存里什么偏移量、什么数组长度、对齐方式等。

AssetStudio 自己也是靠 TypeTree 来解析资源的:当它加载一个 .assets 或 AssetBundle 时,会先从文件里读取 TypeTree,然后按每个类的定义去反序列化二进制数据。

所以如果你要:

Classes 标签页就是最直接的参考工具。

怎么看

左侧树按 Unity 版本分组,每个版本节点下按 Class ID 排序列出所有类型。Class ID 是 Unity 内部的类型编号——比如 Texture2D 是 28,Mesh 是 43,MonoBehaviour 是 114。

选中一个类型后,右侧 Dump 标签页会渲染它的完整 TypeTree,类似:

Texture2D
├─ m_Name: string
├─ m_ClassID: int32
├─ m_EngineClassString: string
├─ m_NativeFormatID: int32
├─ m_TextureSettings
│  ├─ m_FilterMode: int32
│  ├─ m_aniso: int32
│  ├─ m_mipBias: float32
│  └─ m_wrapU / m_wrapV: int32
├─ m_Width / m_Height: int32
├─ m_TextureFormat: int32
├─ m_mipCount: int32
├─ m_isReadable: bool
├─ m_imageData: Array<uint8>
└─ m_DeferredTextureImageData: ...

TypeTree 还会告诉你字段的 version(Unity 版本兼容性)、depth(嵌套层级)、size(字节大小)、flags(序列化属性,比如 align 表示对齐填充)等。

与 Dump 功能的配合

Asset List 的右键菜单里 Dump Selected Assets 会把选中的资源按它自己的 TypeTree 序列化成 JSON 格式,在右侧 Dump 面板里显示出来。这时候左边 Classes 标签页能帮你理解每个字段名对应的含义——比如 m_Width 和 m_Height 就是贴图的宽高,m_imageData 是压缩后的原始像素数据。