news 2026/4/23 14:41:14

1.7 BuildPipeline.BuildAssetBundles

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.7 BuildPipeline.BuildAssetBundles

1.BuildPipeline.BuildAssetBundles简介

2.常用重载形式

3.核心参数详解

4.示例


1.BuildPipeline.BuildAssetBundles简介

BuildPipeline.BuildAssetBundles是UnityEditor命名空间下的静态方法,仅在Unity编辑器环境中可用,用于将项目中标 记为AssetBundle的资源打包成独立的AssetBundle文件(AB包)

2.常用重载形式

1).基础重载(基于资源标签)publicstaticAssetBundleManifestBuildAssetBundles(stringoutputPath,// AB包输出目录BuildAssetBundleOptionsoptions,// 构建选项(压缩、增量构建等)BuildTarget targetPlatform// 目标运行平台);
2).自定义打包重载(精细化控制)publicstaticAssetBundleManifestBuildAssetBundles(stringoutputPath,AssetBundleBuild[]builds,// 自定义AB包结构(指定资源与AB包的映射)BuildAssetBundleOptionsoptions,BuildTargettargetPlatform);

3.核心参数详解

a.outputPath AB包输出的文件夹路径("Assets/../AssetBundles"),Unity会自动创建不存在的目录
b.options 构建选项,核心控制"压缩方式、增量构建",常用值-None:默认,常规构建-ChunkBasedCompression:LZ4块压缩(推荐,加载快+压缩率适中)-CompressWithLZMA:LZMA压缩(体积最小,加载最慢)-UncompressedAssetBundle:不压缩(加载最快,体积最大)-ForceRebuildAssetBundle:强制全量重建(忽略增量)
c.targetPlatform AB包适配的运行平台(如BuildTarget.StandaloneWindows64、BuildTarget.Android、BuildTarget.iOS),不同平台AB包不 通用
d.builds 自定义打包映射,可指定"哪些资源打包到哪个AB包",无需手动给资源打标签
返回值AssetBundleManifest打包清单,包含所有AB包的名称、依赖关系等信息,可用于运行时依赖加载

4.示例

1).基础打包(基于资源标签)
usingUnityEditor;usingUnityEngine;usingSystem.IO;// 编辑器脚本,仅在Unity编辑器中生效publicclassABBuilder:Editor{// 在Unity菜单栏添加打包按钮[MenuItem("Tools/Build AssetBundles")]publicstaticvoidBuildAllABs(){// 定义AB包输出路径(项目根目录的AssetBundles文件夹)stringoutputPath=Path.Combine(Application.dataPath,"../AssetBundles");// 确保输出目录存在if(!Directory.Exists(outputPath)){Directory.CreateDirectory(outputPath);}// 执行打包AssetBundleManifestmanifest=BuildPipeline.BuildAssetBundles(outputPath,// 输出路径BuildAssetBundleOptions.ChunkBasedCompression,// LZ4块压缩BuildTarget.StandaloneWindows64// 目标平台:Windows64);// 打包结果提示if(manifest!=null){Debug.Log($"AB包构建成功!输出路径:{outputPath}");// 打印所有打包的AB包名称foreach(varabNameinmanifest.GetAllAssetBundles()){Debug.Log($"已打包AB包:{abName}");}}else{Debug.LogError("AB包构建失败!");}}}

2).自定义打包(无需手动打标签)
[MenuItem("Tools/Build Custom ABs")]publicstaticvoidBuildCustomABs(){stringoutputPath=Path.Combine(Application.dataPath,"../AssetBundles");if(!Directory.Exists(outputPath))Directory.CreateDirectory(outputPath);// 定义2个AB包的打包规则AssetBundleBuild[]buildMap=newAssetBundleBuild[2];// 第一个AB包:models(包含2个预制体)buildMap[0].assetBundleName="models";buildMap[0].assetNames=newstring[]{"Assets/Models/Player.prefab","Assets/Models/Enemy.prefab"};// 第二个AB包:textures(包含2张纹理)buildMap[1].assetBundleName="textures";buildMap[1].assetNames=newstring[]{"Assets/Textures/PlayerTex.png","Assets/Textures/EnemyTex.png"};// 调用重载方法打包AssetBundleManifestmanifest=BuildPipeline.BuildAssetBundles(outputPath,buildMap,BuildAssetBundleOptions.ChunkBasedCompression,BuildTarget.Android);if(manifest!=null){Debug.Log("自定义AB包构建成功!");}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:17:52

维普降AI别乱试,优先用这几款

维普AIGC检测高?6款工具帮你降到合格线 TL;DR:维普AIGC检测算法和知网不同,很多知网能过的工具在维普可能过不了。实测对维普效果最好的是嘎嘎降AI(67%→9%),其次是比话降AI(60%→12%&#xff0…

作者头像 李华
网站建设 2026/4/16 12:28:43

基于贝叶斯深度学习的雷达有源干扰识别方法

✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。 ✅成品或者定制,扫描文章底部微信二维码。 (1) 雷达干扰信号建模与数据集制备方法 雷达系统在复杂电磁环境中面临着各种有源干…

作者头像 李华
网站建设 2026/4/22 15:43:20

CSS 新特性总结(附:var() 函数详解)

本文全面总结了CSS最新特性,涵盖选择器、布局、变量、动画等多个方面。 重点包括: 1)CSS Selectors Level 4新增的关系选择器(:has)、逻辑组合选择器(:is/:where)等; 2)布局增强如Flexbox的gap属性、Grid子网格和Mason…

作者头像 李华
网站建设 2026/4/23 13:17:06

SpringBoot:封装 starter

01 Starter 核心机制 SpringBoot 核心思想是约定大于配置,而 Starter 正是这一思想的核心落地载体。 简单来说,Starter 把某一类功能的依赖管理、默认配置、自动装配逻辑打包成一个独立 Jar 包。 项目只需引入这个 Jar 包,就能直接使用对应功…

作者头像 李华
网站建设 2026/4/16 6:50:38

STM32心率血氧手环(可报警)

目录硬件设计传感器技术软件算法应用场景开发资源源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!硬件设计 STM32心率血氧手环通常基于STM32微控制器(如STM32F4或STM32L4系列),搭配光学传感器模块&am…

作者头像 李华
网站建设 2026/3/5 18:14:45

2026年选择敏捷咨询机构:从“工具应用”到“价值落地”的转型关键

在VUCA时代,企业对敏捷的需求早已超越Scrum会议、看板工具的表层应用,转向全价值链的效率提升与组织能力重塑。2026年,随着数字化转型进入深水区,敏捷咨询机构的核心价值不再是简单传授方法论,而是帮助企业破解“敏捷落…

作者头像 李华