Unity AssetBundle 工作流程(下)

本文参考官方文档:https://docs.unity3d.com/cn/current/Manual/AssetBundlesIntro.html

管理 AssetBundle

上一篇我们已经知道了AssetBundle的基本工作流程以及构建和加载,是时候讨论如何管理所有这些已加载的 AssetBundle 了。

AssetBundle Manager 是 Unity官方 制作的一个工具,用于进一步简化 AssetBundles 的使用。它有许多功能,包括依赖项管理,加载资源,加载场景,加载变体等。

我们可以从 Bitbucket 代码仓库 来下载Unity 官方的 AssetBundleDemo。下载和导入 AssetBundle Manager 软件包不仅会添加新的 API 调用来加载和使用 AssetBundle,还会添加一些 Editor 功能来简化工作流程。可以在 Assets 菜单选项下找到此功能。

模拟模式

启用模拟模式允许 AssetBundle Manager 使用 AssetBundle,但不需要实际构建捆绑包本身。编辑器会查看已分配到 AssetBundle 的资源并直接使用资源,而不实际从 AssetBundle 中提取资源。

使用模拟模式的主要优点是可以修改、更新、添加和删除资源,而无需每次都重新构建和部署 AssetBundle。

值得注意的是,AssetBundle 变体不适用于模拟模式。如果需要使用变体,可以选择本地 AssetBundle 服务器 (Local AssetBundle Server)。

下面的操作都是在模拟模式下进行的。需将 资源 -> AssetsBundles -> Simulation Mode 打上对号

本地 AssetBundle 服务器

AssetBundle Manager 还可以启动本地 AssetBundle 服务器,该服务器可用于在编辑器或本地构建(包括移动端)中测试 AssetBundle。

要让本地 AssetBundle 服务器工作,规定必须在项目的根目录中创建一个名为 AssetBundles 的文件夹,该文件夹与 Assets 文件夹应处于同一级别。

 

创建文件夹后,需要将 AssetBundle 构建到此文件夹。从菜单选项中选择 Build AssetBundles

AssetBundleManager的使用

此函数将加载 AssetBundleManifest 对象。开始使用 AssetBundle Manager 在资源中加载此对象之前,需要首先调用此对象。

IEnumerator Start() 
{ 
    yield return StartCoroutine(Initialize()); 
} 
IEnumerator Initialize() 
{ 
    DontDestroyOnLoad(gameObject);
    IntializeSourceURL();    // 初始化服务器地址
    var request = AssetBundleManager.Initialize();    //初始化 AssetBundle Manager
    if (request != null) 
        yield return StartCoroutine(request); 
}
void InitializeSourceURL(){
        // If ODR is available and enabled, then use it and let 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值