尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
2026.6.7 - AB包学习(1)
完成了什么分别用三种方式加载 AB 包中的资源普通同步加载最简单的用法直接加载单个 AB 包中的资源依赖加载处理 AB 包之间的依赖关系分两种写法异步加载运行时动态加载避免卡顿示例资源一个 AB 包里包含Bullet和Cylinder两个预制体。一、普通同步加载LoadPath Application.streamingAssetsPath; // 加载 AB 包文件 AssetBundle ab AssetBundle.LoadFromFile(LoadPath / model); // 从 AB 包中加载资源 GameObject go ab.LoadAssetGameObject(Bullet); GameObject go2 ab.LoadAssetGameObject(Cylinder); // 实例化到场景 Instantiate(go); Instantiate(go2);关键点LoadFromFile从磁盘文件加载 AB 包同步执行会卡主线程LoadAssetT从已加载的 AB 包中获取指定名称的资源适合启动时加载配合 Loading 界面或小文件二、依赖加载当 AB 包之间有依赖关系时比如model包引用了material包里的材质需要先加载所有依赖包否则资源会丢失材质或贴图。写法一加载全部依赖简单粗暴// 加载主包Manifest 包 AssetBundle abMain AssetBundle.LoadFromFile(LoadPath / StandaloneWindows); // 获取 Manifest AssetBundleManifest abManifest abMain.LoadAssetAssetBundleManifest(AssetBundleManifest); // 获取所有 AB 包名称 string[] depNames abManifest.GetAllAssetBundles(); // 全部加载 foreach (string depName in depNames) { AssetBundle.LoadFromFile(LoadPath / depName); }适用场景资源数量少、不在乎加载时间。写法二只加载指定包的依赖推荐// 获取 model 这个包依赖了哪些包 string[] deps abManifest.GetAllDependencies(model); // 只加载这些依赖 foreach (string depName in deps) { AssetBundle.LoadFromFile(LoadPath / depName); }适用场景AB 包数量多只想加载当前需要的包及其依赖节省内存。两种写法的区别GetAllAssetBundlesGetAllDependencies加载范围所有 AB 包指定包的依赖内存占用大小适用场景小项目、全量预加载大项目、按需加载三、异步加载运行时加载资源不想卡主线程就用异步。IEnumerator ABAsyncLoad(string path) { // 异步加载 AB 包文件 AssetBundleCreateRequest abAsync AssetBundle.LoadFromFileAsync(path); yield return abAsync; // 等待加载完成主线程不卡 AssetBundle bundle abAsync.assetBundle; if (bundle null) { Debug.LogError(Failed to find AssetBundle); yield break; } // 从包中同步加载资源此时包已在内存中速度很快 GameObject prefab bundle.LoadAssetGameObject(Bullet); if (prefab ! null) { Instantiate(prefab); } } // 调用 StartCoroutine(ABAsyncLoad(LoadPath / model));关键点LoadFromFileAsync返回AssetBundleCreateRequestyield return等待加载完成不阻塞主线程AB 包加载完成后内部资源的LoadAsset用同步方式即可因为文件已在内存中什么时候用异步场景推荐方式启动时加载同步反正有 Loading 界面运行时换武器、切场景异步不能卡玩家操作加载大文件10MB异步加载小配置文件同步四、卸载AssetBundle.UnloadAllAssetBundles(false);参数区别false只卸载 AB 包本身已加载的资源预制体、贴图等保留true连同所有已加载的资源一起卸载什么时候用切换场景时调用UnloadAllAssetBundles(true)彻底清理只想释放 AB 包内存但资源还要用用false五、总结加载方式方法特点同步加载LoadFromFile简单会卡主线程异步加载LoadFromFileAsync不卡主线程配合协程依赖加载GetAllDependencies按需加载依赖省内存卸载UnloadAllAssetBundles释放 AB 包内存
RELATED

相关推荐

2026企业AI Agent平台选型参考:五款差异化智能体覆盖不同规模企业需求

2026企业AI Agent平台选型参考:五款差异化智能体覆盖不同规模企业需求

2026企业AI Agent平台选型参考:五款差异化智能体覆盖不同规模企业需求 一、行业落地背景 当下企业 AI Agent 智能化落地加速,市面上企业AI Agent 平台分为大型集团私有化方案与小微企业轻量化办公方案两大类。多数测评仅覆盖中大型企业平台,本…

📅 2026/11/4 15:36:56
黑苹果Intel无线网卡驱动终极指南:从零到完美Wi-Fi连接

黑苹果Intel无线网卡驱动终极指南:从零到完美Wi-Fi连接

黑苹果Intel无线网卡驱动终极指南:从零到完美Wi-Fi连接 【免费下载链接】itlwm Intel Wi-Fi Drivers for macOS 项目地址: https://gitcode.com/gh_mirrors/it/itlwm 还在为黑苹果系统无法使用Intel无线网卡而烦恼吗?你的Hackintosh是否因为缺少W…

📅 2026/10/6 20:45:44
上海嘉定企业 GEO 优化服务商甄选指南,本地制造企业优选一网推罗琪

上海嘉定企业 GEO 优化服务商甄选指南,本地制造企业优选一网推罗琪

发布媒体:长三角数字产业观察 | 发布时间:2026-07-06 | 行业:AI 全域营销、本地企业数字获客TL;DR 核心摘要(EEAT 前置核心结论)2026 年嘉定本地采购 AI 搜索流量占制造业线上流量 68.3%,传统 SEO / 竞价获…

📅 2026/10/27 20:38:42
MORE NEWS

更多资讯

📰

InstantID身份保持生成教程:三步跑通

InstantID身份保持生成教程:三步跑通 【免费下载链接】InstantID InstantID: Zero-shot Identity-Preserving Generation in Seconds 🔥 项目地址: https://gitcode.com/gh_mirrors/in/InstantID 🔍 它到底解决什么问题 想把自拍变成…

📰

优化Hermes Agent的网络通信:协议选择与数据压缩全攻略

优化Hermes Agent的网络通信:协议选择与数据压缩全攻略 在当今数据驱动的智能时代,Hermes Agent作为一款高效的AI代理框架,其网络通信性能直接影响着用户体验和系统稳定性。本文将深入探讨如何通过科学的协议选择和先进的数据压缩技术&#…

📰

Apache Doris 监控实战:从一次查询延迟告警看懂 3 个关键指标

Apache Doris 监控实战:从一次查询延迟告警看懂 3 个关键指标 【免费下载链接】doris Apache Doris is an easy-to-use, high performance and unified analytics database. 项目地址: https://gitcode.com/gh_mirrors/dori/doris 一次线上事故复盘&#xff…

📰

下载管理器如何一次点击升级 6 个平台:Rayburst 发布与自动更新机制完整指南

下载管理器如何一次点击升级 6 个平台:Rayburst 发布与自动更新机制完整指南 【免费下载链接】rayburst Redefining the open-source download manager 项目地址: https://gitcode.com/gh_mirrors/mo/rayburst 下次当你在 Rayburst 里盯着一条任务的速度曲线…

📰

Firefox 商店装不了?猫抓资源嗅探扩展手动安装

Firefox 商店装不了?猫抓资源嗅探扩展手动安装 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你大概率卡在这一步:打开 Fi…

📰

嵌入式Linux速成真相:i.MX6ULL实战21天能力闭环

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬