Unity 使用 Addressable Asset 配合阿里云实现资源远程托管

在包管理器中安装 Addressable
导入一个模型,标记为Addressable资源

打开Addressable Profiles窗口

创建一个配置


将远程服务器地址更改为服务器的地址

打开Addressable Groups窗口
在这里插入图片描述
将配置项切换为刚刚添加的Aliyun
在这里插入图片描述
建立一个组

这里更名为 Remote Group

右键该组,选择 Inspect Group Settings

将 Build Path 和 Load Path 设置为 RemoteBuildPath和RemoteLoadPath


如果希望该组打包后的资源文件是分开的话,可以该组的检查器面板中设置Bundle Mode 为 Pack Separately
在这里插入图片描述
点击检查器面板中的Inspect Top Level Settings,将 Build Remote Catalog 勾选,然后将Build Path和Load Path设置为RemoteBuildPath和RemoteLoadPath
在这里插入图片描述
回到Addressables Groups窗口,将刚刚的模型拖到 Remote Group 组中
在这里插入图片描述
将Player Mode Script切换到第三项

开始编译资源

编译完成后,项目文件中会增加一个文件夹,即刚刚 Build Path 设置的文件夹
在这里插入图片描述
选择分开打包模式重新打包后,该组的资源在一个文件夹(remotegroup_assets_assets)中
在这里插入图片描述
将 ServerData\StandaloneWindows 中的所有文件上传到服务器中

编写程序,在游戏运行后加载一个资源

public class GameManager : MonoBehaviour
{
    public AssetReference asset;
 
    void Start()
    {
        asset.InstantiateAsync();
    }
}

选择刚刚标记的模型

进入游戏后, Addressable Asset系统会自动检查该模型在本地是否存在最新版,如果本地没有该模型或者是旧版则会下载该模型,在下载完成后加载到场景中。
在这里插入图片描述
随便更改一下资源,重新Build后上传到服务器然后来测试一下客户端是否能正常更新
在这里插入图片描述
然后回到 Addressable Groups 窗口,点击Build-Update a Previous Build

然后会弹出一个文件选择框,选中项目文件夹\Library\com.unity.addressables\StreamingAssetsCopy\Windows中的addressables_content_state.bin文件
在这里插入图片描述
重新编译后,更新到服务器上,再打开游戏,可以看到资源被正常重新下载了。
抛砖引玉,有请批评指正。
此文仅讲叙配置资源远程托管流程,有关Addressable的具体说明请看Addressable官方文档。

参考:

  1. tomcat: http://tomcat.apache.org/
  2. Addressable 1.3 版本文档 https://docs.unity3d.com/Packages/[email protected]/manual/index.html
发布了23 篇原创文章 · 获赞 63 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_15505341/article/details/103049919