当前位置: 首页 > news >正文

【unity游戏开发入门到精通——通用篇】AssetBundle(AB包)和AssetBundleBrowser的使用介绍

文章目录

  • 前言
    • 1、什么是AssetBundle?
    • 2、AB包与Resources系统对比
    • 3、AB包核心价值
  • 一、AB包打包工具Asset Bundle Browser
    • 1、下载安装AssetBundles-Browser
    • 2、打开Asset Bundle Browser窗口
    • 3、如何让资源关联AB包
  • 二、AssetBundleBrowser参数相关
    • 1、Configure 配置页签
    • 2、Build 构建页签
      • 2.1 参数
        • (1)BuildTarget: 目标平台
        • (2)Output Path: 目标输出路径
        • (3)Clear Folders:重新打包时是否清空目标路径的文件夹
        • (4)Copy To StreamingAssets
        • (5)Compression 压缩方式
        • (6)Exclude Type Information
        • (7)Force Rebuild
        • (8)Ignore Type Tree Changes
        • (9)Append Hash
        • (10)Strict Mode
        • (11)Dry Run Build
        • (12)Build打包按钮
      • 2.2 实战
    • 3、Inspect 检查页签
  • 三、代码加载AB包和AB包中的资源
    • 1、同步加载AB包和AB包中的资源
      • 1.1 AssetBundle.LoadFromFile同步地从指定路径加载AB包,返回加载后的AB包。
      • 1.2 AssetBundle.LoadAsset 同步的从一个已加载的AB包中加载指定资源
      • 1.3 同一个AB包可以用于加载多个不同资源
    • 2、异步加载AB包和AB包中的资源
      • 2.1 AssetBundle.LoadFromFileAsync 异步地从指定路径加载AB包,返回异步加载AB包的类
      • 2.2 AssetBundle.LoadAssetAsync 异步地从一个已加载的AB包中加载指定资源
      • 2.3 调用协程进行异步加载
      • 2.4 示例
      • 2.5 AB包不能加载两次
    • 3、卸载AB包和AB包中的资源
      • 3.1 AssetBundle.Unload 卸载指定的AB包
      • 3.2 AssetBundle.UnloadAllAssetBundles 卸载所有已加载的AB包
  • 四、AB包的依赖包
    • 1、手动加载AB包的依赖包
    • 2、通过主AB包的依赖关系清单文件加载AB包的依赖包
  • 五、封装AB包资源管理器
    • 1、继承MonoBehaviour的泛型单例模式基类
    • 2、封装AssetBundle管理器
    • 3、调用测试
  • 六、总结
  • 专栏推荐
  • 完结

前言

1、什么是AssetBundle?

AssetBundle 是 Unity 中的一种资源打包格式,用于将游戏资源(如模型、纹理、音频等)分块压缩,便于动态加载和更新。开发者可以将资源按需打包成多个 AssetBundle,运行时通过网络下载或本地加载,减少初始包体大小,支持热更新和资源管理优化。

  • 特定平台的资源容器:针对不同平台(Windows/Android/iOS等)优化的资源压缩包
  • 资源集合:包含模型、贴图、材质、预设体、音频等资源,不包含C#代码
  • 灵活部署:可存储在任意位置(本地或远程服务器)

2、AB包与Resources系统对比

特性Resources系统AssetBundle系统
资源位置必须放在Resources文件夹任意位置
资源管理单个资源加载资源集合打包
更新能力只读,无法更新支持动
http://www.lqws.cn/news/136855.html

相关文章:

  • Pytest+Selenium UI自动化测试实战实例
  • 霍夫曼编码详解
  • 【SpringCloud】Nacos配置中心
  • 【仿生】硬件缺失,与组装调试,皮肤问题
  • SPI通信协议(软件SPI读取W25Q64)
  • 嵌入式学习Day32
  • 【DAY39】图像数据与显存
  • AIGC1——AIGC技术原理与模型演进:从GAN到多模态融合的突破
  • 前端面试真题(第一集)
  • vxe-grid 双击行,打开expand的内容
  • 第十三节:第三部分:集合框架:Map集合的遍历方式
  • 第二章 进程管理
  • Inno Setup 安装向导各个页面详解
  • 简数采集技巧之快速获取特殊链接网址URL方法
  • 【大模型:知识图谱】--5.neo4j数据库管理(cypher语法2)
  • 查看服务应用是否有跑起来命令
  • Vue2 和 Vue3 常见 CSS 样式归纳总结
  • 图片压缩工具 | 图片生成PDF文档
  • AReaL-boba²:开源异步强化学习训练系统的革命性突破
  • [Java 基础]Java 中的关键字
  • Python学习(6) ----- Python2和Python3的区别
  • 解决com.jcraft.jsch.JSchException: Algorithm negotiation fail
  • MYSQL之表的内连和外连
  • Hadoop企业级高可用与自愈机制源码深度剖析
  • 《人性的弱点》核心总结
  • 录制mp4
  • RAG技术解析:实现高精度大语言模型知识增强
  • promethues上监控K3S中的pod的状态
  • [AI Claude] 软件测试2
  • 互斥锁与消息队列的架构哲学