在Unity社区分享经验,你也有机会获得官方推荐!发稿入口:unity.cn/articles
2020年度Unity价值博主、Unity价值专家招募中 更多Unity博主专属权益见文末
这篇文章旨在快速帮你将现有项目升级到云端资源加载,实现热更!
话不多说,先上视频:
首先是准备工作:
教程Unity版本:2019.4.0f1演示项目:教程介绍
https://www.bilibili.com/video/BV1jg4y1v7qC/使用服务要先开通服务:进入网址点击立即使用
https://unity.cn/cloud-content-delivery
在 Package Manager 当中下载安装 Addressable 1.8.4
在网页上下载 Cloud Content Delivery 插件并安装到你到项目中。 https://unity.cn/cloud-content-delivery 安装好所有的 packages 之后可以在 Unity 编辑器 Window 的窗口中看到所有的功能,分别打开窗口。 可以看到窗口里的红色提示,需要你去设置一下项目的 COS Key 为了连接到你的云端项目。 可以访问控制台查看自己项目的 Cos Key:Unity中国区资源云加载控制台 https://id.unity.cn/en/conversations/3fded3c1-ee0f-409e-98a7-6c93f7185fb301ef接下来看看 Addressable 如何设置云端资源加载和热更
在你安装好 Addressable 后点击创建 Addressable Settings 就可以在 Project 文件夹里生成对应的文件夹。在里面可以看到默认的 Addressable Asset Settings。 > 这里特别留意,为了实现热更,一定要勾选 Build Remote Catalog 选项。 接下来将要加载的资源设置为 Addressable 资源加载方式 。 下面就是重点了 无论你是本地加载,还是网络云端加载,都要使用到以下的基本代码结构来生成你的 Prefab / Scene 等。using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public class Loader : MonoBehaviour
{
public AssetReference playerPrefab;
public Transform enterDoor;
void Start()
{
//添加事件,当资源加载成功后执行对应当函数方法
Addressables.LoadAssetAsync(playerPrefab).Completed += OnPlayerLoaded;
}
private void OnPlayerLoaded(AsyncOperationHandle obj)
{
switch (obj.Status)
{
case AsyncOperationStatus.Succeeded:
GameObject loadedObject = obj.Result;
Instantiate(loadedObject, enterDoor.position, Quaternion.identity);
break;
case AsyncOperationStatus.Failed:
Debug.Log("资源加载失败");
//可能应急启动本地的默认资源
break;
}
}
}
右滑查看完整代码
接下来我们要将我们的资源加载方式进行打包,让系统知道我要去哪里找这个资源。
打包成功后你就可以去到刚才你看到的 RemoteBuild Path 找到对应的文件夹和Asset Bundle打包文件了。
我们接下来要设置使用 CCD 将我们的打包资源传输到云端
打开我们的 Cloud Content Delivery 窗口,首先创建一个 Bucket(桶)用来存放你的数据。
为了真实的测试云端加载资源是否成功,我们要去Addressable的窗口里设置运行模式。
然后我们最后一次使用 Build 来打包这个资源加载!让整个项目能够正常运行。
文章内容后面还会继续添加~尽情期待,再次感谢大家的支持。 Unity云端资源分发不仅可以实现热更,还可以帮助游戏实现点开即玩的流畅体验。对于开发者而言,云端资源分发也是节省开发时间、让开发流程更加高效的好方法。如果你对这个功能感兴趣的话,欢迎立即加入Unity的CCD种子计划(点我点我),Unity的云服务团队将在以下方面为你提供全球顶级的专业服务,保持服务正常运行和性能稳定:
手册,示例 √ |
技术讨论组 √ |
应急响应(A/B/C/D) 1/4/12/24 小时 |
用户数量 无限 |
专属微信技术支持群 √ |
1T免费流量 √ |
长按关注
Unity 官方微信第一时间了解Unity引擎动向,学习最新开发技巧