<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>资源管理 on LiuYingbo Blog</title><link>https://liuyingbo.com/tags/%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86/</link><description>Recent content in 资源管理 on LiuYingbo Blog</description><generator>Hugo -- 0.165.0</generator><language>zh-cn</language><lastBuildDate>Thu, 27 Aug 2026 10:30:00 +0800</lastBuildDate><atom:link href="https://liuyingbo.com/tags/%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86/index.xml" rel="self" type="application/rss+xml"/><item><title>Unity-AssetBundle原理</title><link>https://liuyingbo.com/posts/unity/unity-assetbundle%E5%8E%9F%E7%90%86/</link><pubDate>Thu, 27 Aug 2026 10:30:00 +0800</pubDate><guid>https://liuyingbo.com/posts/unity/unity-assetbundle%E5%8E%9F%E7%90%86/</guid><description>&lt;h2 id="一引言"&gt;一、引言&lt;/h2&gt;
&lt;p&gt;AssetBundle（简称 AB 包）是 Unity 资源管理的基石。理解它的底层原理，是掌握后续所有资源管理方案（包括 Addressables 和 YooAsset）的前提。&lt;/p&gt;
&lt;p&gt;AssetBundle 是 Unity 提供的一种将资源打包成自定义格式文件的机制。通过它，开发者可以把资源从游戏安装包中分离出来，实现按需加载、热更新、资源共享等功能。Unity 从 5.x 起提供了较完善的 AssetBundle 打包与加载 API。&lt;/p&gt;
&lt;p&gt;它的核心价值在于将&lt;strong&gt;资源与代码分离&lt;/strong&gt;，使资源可以在运行时动态加载和卸载。对于体量较大的项目尤为重要：把资源拆成多个小包，按游戏进度按需加载，从而控制安装包体积和运行时内存占用。&lt;/p&gt;
&lt;h2 id="二assetbundle-内部结构"&gt;二、AssetBundle 内部结构&lt;/h2&gt;
&lt;h3 id="21-文件结构unityfs-格式"&gt;2.1 文件结构（UnityFS 格式）&lt;/h3&gt;
&lt;p&gt;现代 Unity 使用的 AB 文件格式标识为 &lt;code&gt;UnityFS&lt;/code&gt;。一个 AB 文件在磁盘上大致分为如下几部分：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;AssetBundle 文件（UnityFS）
├── Header（文件头）
│ ├── 签名（Signature）：&amp;#34;UnityFS&amp;#34;
│ ├── 格式版本（Format Version）
│ ├── Unity 版本 / 生成版本字符串
│ ├── 文件总大小
│ ├── 压缩后 / 压缩前 BlocksInfo 大小
│ └── 压缩标志（LZMA / LZ4 / 无压缩）
├── BlocksInfo &amp;amp; DirectoryInfo（块与目录信息，通常单独压缩）
│ ├── 数据块（Block）列表：每块的压缩/解压大小、压缩方式
│ └── 目录（Node）列表：内部文件名、offset、size、flags
└── Data（数据块）
├── CAB-xxxxx（SerializedFile：序列化对象数据 + TypeTree）
└── CAB-xxxxx.resS / .resource（Texture、Mesh、Audio 等原始二进制）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;各部分说明：&lt;/p&gt;</description></item></channel></rss>