今天来介绍一下Unity开发微信小游戏中CDN的使用,以及如何使用微信云开发布置CDN,话不多说我们直接开始。
由于与原生APP游戏不同,微信小游戏是“即点即玩”,微信小游戏启动时首包资源不能超过200M,所以后续的游戏资源需要放在CDN资源服务器进行远程加载。
今天我们先来介绍一下如何用微信云开发来布置CDN服务器。先打开微信开发者工具,在菜单栏下方就有一个云开发的按钮,点击进入云开发控制台。在云开发控制台上方有一排按钮,在更多中选择“静态网站”。
在“网站配置”页签中我们可以看到默认域名,这里记录一下后面需要用到这个域名。
为了测试加载,我们先在项目中创建一个用于加载的Prefab,我们这里使用的是Addressable的方式进行的加载,所以我们将Prefab添加到Addressable Group资源的列表中,如下图。
我们先在Unity工程中确保Prefab可以正确的进行加载,加载代码如下:
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public class Main : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
GameObject canvasObj = GameObject.Find("Canvas");
AsyncOperationHandle asyncOperationHandle = Addressables.InstantiateAsync("CountPrefab", canvasObj.transform);
}
}
然后我们打开微信小游戏插件,在“游戏资源CDN”一栏里填入CDN的域名地址,这里需要注意一下的是前面需要加上https://。并且首包资源加载方式要选择为CND。之后就可以正常的将项目导出。 对于不知道如何使用微信小游戏插件的小伙伴可以看一下之前写的入门介绍《【微信小游戏系列】Unity开发微信小游戏入门介绍》。
在导出目录我们看到有minigame和webgl两个目录,webgl目录就是我们后面要上传CDN的资源目录。如下图,我们将webgl目录中的文件上传到云开发的静态网站上去。
我们用微信开发者工具打开minigame工程,运行微信小游戏,此时开发者工具上显示的内容就是动态加载CDN上资源获得的。
关于微信小游戏的CDN使用先简单介绍到这里,CDN服务器除了使用云开发外还可以使用云托管等其他的CDN服务器。
官方文档链接
微信云开发官网:https://cloud.weixin.qq.com/cloudbase
资源加载概述:https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/ResourcesLoading.html