unity3D热更新——(1)Assetbundle资源打包部分

本文档详细介绍了Unity3D中Assetbundle资源的打包过程,包括如何设置AssetBundleName,根据平台打包,生成配置文件等。代码示例展示了如何进行资源打包、清理AssetBundleName、设置AssetBundleName以及创建配置文件。打包流程包括清除已设置的AssetBundleName,设置资源的AssetBundleName,根据目标平台打包,并生成配置文档。打包后的资源会被存储在StreamingAssets目录下,配置文件则用于跟踪资源的CRC码以进行更新检查。
摘要由CSDN通过智能技术生成

/*
* <资源打包介绍>
* 首先会根据已经建好的文件进行遍历,找到所有预制物并设置AssetBundleName,因为是遍历Resources下面的文件夹,
* 所以可以将每个文件夹里的所有预制物打成一个包,然后打包到StreamingAssets 下面,并会生成一个配置文件,这个
* 配置文件是以Resources下的文件夹命名的,一个文件夹一个配置文件,方便后面的更新资源,这个配置文件是根据打包
* 好的包文件生成的,每行都记录了单个包的路径+;+.manifest文件里的crc码,当每次打包预制物有改变时,crc码会重新
* 生成,更新资源时会通过配置文件里每个包路径后面的crc码来判断这个包是否需要更新。
*
*
* 所有需要打包的预制物需要放入文件夹 AssetBundleResources/Resources 下进行打包.
* 打包出来的文件会在 Assets/StreamingAssets(没有该文件夹会自动创建) 文件夹下生成.
*
* 路径供阅读下面代码参考
* 完整的需要打包路径:Assets\AssetBundleResources\Resources\Prefad\UI\XXX.prefab
* 完整的打包好的路径(安卓):Assets\StreamingAssets\Android\resources\prefad\ui\XXX.unity3d
* 完整的配置文件路径:Assets\StreamingAssets\Android\configuration\prefad\ui.txt
*
*
* 因为unity5.X不需要我们来管理引用, 所以下面的代码大部分都是对路径和文件夹的处理,打包的代码也就两行
* 1:设置AssetBundleName
*:2:根据平台设置进行打包
*
* 该段代码打包流程
* 清除已设置的AssetBundleName -→ 找到要打包的资源并设置 AssetBundleName -→ 进行打包 -→ 创建文本并写入配置信息
*
* 调用该函数,unity会自动根据资源的标签进行打包,而且是增量打包,
* a.对于资源没有变更的bundle包,不会触发重新打包;
* b.资源没变,即使生成目录下的bundle包被删除了,unity也不会重新打包;
* c.生成目录下的bundle包对应的manifase被删了,会重新打包;
* d.可以使用BuildAssetBundleOptions.ForceRebuildAssetBundle参数触发强制重新打包。
*
*
*/
public class Builder : Editor
{

[ MenuItem( "打包/热更新打包")]
public static void BuildAssetBundleAll()
{
#if UNITY_ANDROID && UNITY_EDITOR
BuildResource( BuildTarget. Android);
#endif
#if UNITY_IOS && UNITY_EDITOR
BuildResource( BuildTarget. iOS);
#endif
}
/// < summary >
/// 资源打包
/// </ summary >
/// < param name = "target" > 打包平台 </ param >
static void BuildResource( BuildTarget target)
{
//清除所有之前设置过的AssetBundleName
ClearAssetBundlesName();
//代码中给资源设置AssetBundleName
SetAssetBundelsName( AssetPath. OriginalPath);
//因为要根据平台打包,为了方便分类,所以在Assets\StreamingAssets目录下创建一个
//以平台名字命名的文件夹来放置各平台打出来的包和其他相关的文件,以方便管理
//例如安卓平台: 处理路径为Assets\StreamingAssets\Android
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值