Unity游戏开发-Assetbundle打包

Unity BuildPipeLine.BuildAssetbundle 打包场景、加载场景 不过有一点需要特别注意:打包场景的时候不要采用压缩格式,要不然加载的时候出不来!!! 阅读详情

本篇主要是分享unity Assetbundle的打包处理。

目录

打包接口

整体设计

打包AssetBundle

压缩资源到StreamingAssets、输出资源清单文件

清单文件结构

AssetFile:

AssetVersion:

处理:

完整代码


打包接口

BuildPipeline.BuildAssetBundles(folder, BuildAssetBundleOptions.UncompressedAssetBundle, platform);

打包AssetBundles主要是通过Unity Editor提供的BuildPipeline.BuildAssetBundles这个接口来完成打包。

folder就是打包好之后的输出路径,platform根据要输出的平台选择即可。

BuildAssetBundleOptions里unity提供了一些配置可以帮助我们快速处理一些需求比如压缩等。这个在unity手册里有很详细的解释。

这里选择不压缩主要是为了后续自己做压缩和加载方案。

整体设计

这里打包分成了四个步骤。

其中拷贝压缩后的StreamingAssets是因为在打安卓或者ios的包之后StreamingAssets路径下的资源才会被放入包体之中供应用使用。

另外,这里我们使用unity打包接口时使用了无压缩的方式是为了后续我们自己做一次压缩。

    unity提供的LZ4压缩方案大概会将原始的Assetbundle压缩到1/3左右(实际测试50m=>15m)。

    如果我们用一些其他压缩方式可以让文件压缩率更高,比如LZMA可以压缩到1/5左右(实际测试50m=>9m)

    这个地方关于打包选择如何压缩应该结合实际项目来考虑,压缩率高的方式解压和压缩花费的时间是更长的。这里个人采用的方案是首次进入游戏前将压缩的文件做一次性的解压,后续玩家进入游戏后加载资源包就不需要再解压。如果项目完全不考虑包体大小的情况则可以完全不压缩。如果项目不希望玩家首次进游戏有解压处理(考虑到一些玩家会有不耐烦的特性),但是游戏包体又不能太大则可以使用Unity提供的LZ4的压缩方案,该方案在调用UnityAssetBundle加载接口加载资源包里的资源的时候会自动的解压(这样首次加载某个游戏资源的时候会略微慢一点,但只要对应的AssetBundle不卸载,再次加载相同资源就会很快。这是因为unityAssetBundle加载过一次后会缓存到内存中,只要AssetBundle不卸载后续就不需要再次从硬盘读取并解压了)。如果对包体有极致的追求则可以考虑我现在这种方案,自己定制压缩,首次进入游戏做一次性的解压。

生成bundles清单文件主要是为了记录当前玩家游戏资源的相关信息,用于和服务器做对比以便于将最新的资源文件从服务器更新下来。

打包AssetBundle

// 设置资源包输出路径
string folder = PathMgr.instance.BuildPath;

// 设置平台
BuildTarget platform = BuildTarget.Android;
#if UNITY_ANDROID
platform = BuildTarget.Android;
#elif UNITY_IOS
platform = BuildTarget.iOS;
#endif

// 调用打包接口
Bui
Unity AssetBundle -- AssetBundle打包 关于AssetBundle的打包,Unity提供了新的打包方法BuildPipeline.BuildAssetBundles()和它的重载,之前的BuildPipeline.BuildAssetBundle()已经弃用了 一、BuildPipeline.BuildAssetBundles(path, option, platform) 该方法可以将需要打包的资源单独打成assetbundle文件和... 阅读详情

相关推荐

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 目录 Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、实现步骤 六、关键代码 一、简单介绍 Unity中的一些基础知识点。 本节介绍,Asset Bundle 在 Unity中的使用,入门第一篇,如何AssetBundle标记,如何打包成AssetBundle的操作方法,有不对的地方欢迎指正。...

仙魁XAN 1万+

Unity AssetBundles打包和加载

一、文章详解:AssetBundle的打包和加载二、搭建场景图片右下角,根据名称来打包,相同名字的打在同一个包里面。项目地址打包要求:“picture.pa”信息里面打包的信息名要记好,等到加载的时候,需用到。注:“picture.pa”我为了看里面的内容先放到Resources文件夹下,等看完信息,需把它放回StreamingAssets文件下二、脚本1.打包脚本打包脚本需放在Editor文件名...

Until 1146

2025反爬终极方案:Python破解Cloudflare v2行为指纹,设备伪装+轨迹模拟拦截率压至1%

Cloudflare v2的反爬逻辑越来越接近“人类行为识别”,单纯的技术破解已失效,核心竞争力变成“模拟真实用户的能力”。本文的终极方案本质是“全方位复刻人类行为”——从设备指纹到操作轨迹,从网络特征到交互模式,让爬虫成为“无法被区分的真实用户”。这套方案的优势是“通用性强”,不仅适用于Cloudflare v2,也能破解大多数高反爬网站(如小红书、知乎、跨境电商)的行为检测;且代码可直接复用,新手只需替换目标URL和数据提取逻辑,就能快速落地。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2355

用 SQL 分析不同用户群组留存率

一、前言 用户增长对企业非常重要,主要包括: 新增、留存、召回 。本文介绍一个实用的分析留存率的方法: Cohort Analysis (群组分析),APP的下载量越高并不是说产品就越好,产品若没有很好的留存,花费大量时间和资源来挖掘新客户也将是竹篮打水一场空。群组分析有利于衡量用户在每个漏斗的用户流失节点、用户流失数据,从而帮助你发现产品的用户的行为模式和用户增长点。从本质上讲,群组分析Cohort Analysis为你提供了一种数据驱动的方法,用群组分析Cohort Analysis方法,可以来帮助提

qq_39984050的博客 3173

STM32内存大小与地址的对应关系以及计算方法

1、概述 在计算机中要访问存储区,都是通过地址来进行访问的,包括所有的外设(比如串口、内存、硬盘等),都对应有一个访问地址,地址就相当于门牌号,有了门牌号,我们才知道操作的是哪一个区域、哪一个外设。 最被大家熟知的是计算机内存,计算机内存有4G、8G,16G等等,对于程序员而言,要在代码中操作这些内存,肯定得知道内存的地址,此外,还需要会计算地址与内存大小的计算方法与对应关系。STM32作为微

Ace's Blog 4万+

从入门到实战:openEuler 系统管理与运维笔记(持续更新)

本文为openEuler系统管理与运维的实战笔记,从CentOS迁移者视角切入,详细介绍了openEuler的生态兼容性、内核优化及安全特性。内容涵盖系统安装规划、虚拟机部署、基础命令操作、文件系统管理以及用户权限配置等核心运维技能,旨在帮助读者快速上手并掌握这一企业级操作系统的日常管理。

weixin_29207149的博客 222

国家大地2000坐标系投影坐标转高德地图经纬度坐标-【高斯投影坐标】

国家大地2000坐标系投影坐标转换成高德经纬度坐标显示画图。

devil_zhuzhu的博客 1万+

IBM x3650M4服务器更换主板后,导入原有硬盘阵列信息

x3650m4服务器主板坏了,更换好的主板,需要导入原来硬盘的里面的阵列信息 1、开机有提示信息,按C导入配置 2、按Y继续 3、点击start进入阵列卡配置 4、选择configurations 1,点击preview 5、预览硬盘的阵列信息,点击import导入 6、导入成功,可以查看到阵列信息 7、重启服务器,进入操作系统 如果重启找不到操作系统,重启按f12,手动选择从onboard sas controller启动,进入系统一次后面重启就会自动找到并引导系统了。 8、有时候导入阵列

zds00virtue的博客 2万+

GLMM(广义线性混合模型)原理以及分析步骤

广义线性混合模型(GLMM)是生态与进化研究中处理非正态数据的定制化工具,能同时分析固定效应和随机效应。它通过链接函数连接响应变量与预测因子,支持二项分布、泊松分布等非正态数据。研究流程包括:明确分析目标(固定效应影响与随机效应方差)、选择合适变量与分布、数据验证、参数估算(需根据模型复杂度选择PQL、拉普拉斯近似等方法)及模型优化(检验过离散与残差,通过信息准则或假设检验筛选最优模型)。GLMM能有效解决传统方法无法处理的"伪重复"和推广性问题,为复杂生物数据提供可靠分析框架。

wewil_lwin的博客 4993

【每天一个知识点】多视图子空间聚类(Multi-view Subspace Clustering)

本文深入解析了多视图子空间聚类技术,这是一种处理多源异构数据的先进方法。它通过融合多个数据视图(如文本、图像、网络结构)的共识与互补信息,学习统一的潜在子空间表示,从而获得比单一视图更鲁棒、准确的聚类结果。文章详细阐述了其核心思想、主流技术流派(如图融合、共同潜在子空间、张量及深度学习方法),并提供了Python实战代码与调优经验,适用于跨模态检索、生物信息学等多领域复杂数据分析。

weixin_29065015的博客 459

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: unity游戏开发-socket网络通信
下一篇: Unity游戏开发-游戏热更新以及登录流程
古月三齐
博客等级 码龄10年 67粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值