U4S4L12——资源打包(发布)加载

资源打包(发布)加载

一个项目中的资源到底是本地还是远端,根据实际情况而定

  1. 对于需要热更新的网络游戏
    默认基础资源作为本地资源,大部分资源作为远端资源
  2. 对于不需要热更新的单机游戏
    所有的资源都是本地资源
    具体采用的打包策略根据实际情况来定

编辑器中资源加载的几种方式

  • Use Asset Database(fastest):
    使用资源数据库(最快的)

    不用打AB包,直接本地加载资源,主要用于开发功能时

  • Simulate Groups(advanced):
    模拟组(后期)

    不用打AB包,通过ResourceManager​从资产数据库加载资产,就像通过AB包加载一样
    通过引入时间延迟,模拟远程AB包的下载速度和本地AB包加载速度,在开发阶段可以使用这个模式来进行资源加载

  • Use Existing Build(requires built groups):

    正儿八经的加载AB包资源,必须打AB包后使用,会从AB包中加载资源

本地资源发布

本地发布,所有组的加载和发布都选择本地路径即可,设置详见:U4S4L7——Profile 概述窗口配置

image

  • Local.BuildPath - 打包路径
  • Local.LoadPath - 加载路径
  • Unity2021版及以后,
    要使用默认路径直接在Local处选择Built-in即可

然后在Addressables Groups内,选择Build —— New Build —— Default Build Script即可打包

image

注意:使用默认设置,当发布应用程序时,会自动帮我们将AB包放入StreamingAssets文件夹中
如果修改了路径,我们需要自己将内容放入StreamingAssets文件夹中, 因此不建议大家修改,默认的本地构建和加载路径,
因为如果你修改了,就需要自己手动的去把AB包相关内容移动到StreamingAssets文件夹中

模拟远端发布资源

注意,如果使用远端发布资源,请务必设置AddressableAssetSettings中的Build Remote Catalog,将目录一并构建到远端目录下!!!
image

  • 第一步:将本机模拟为一台资源服务器,通过Unity自带工具Addressables Hosting或者第三方工具都可

  • 第二步:设置远端路径

    image

    注:Unity2021版及以后,如果使用的是Addressables Hosting,则直接在Remote处选择Editor Hosted即可加载

    然后,选择要远端加载的组,设置其Packed Assets为Remote即可,或者选择Custom,分别选择远端加载路径和远端读取路径

    image

  • 第三部:打包

    Unity默认的构建远端路径是工程目录下的ServerData文件夹,在这里我们可以看到设置为远端打包的AB包及其目录文件

    image

    同时,可以在控制台处看见需要访问两个文件夹的相关消息

    image

实际上的远端发布资源

在知识点三的基础上

  1. 在远端的电脑上搭建Http服务器(可以使用同一局域网下的另外一个设备,注意需要得到IP地址)

    image

  2. 将打包出来的资源上传到对应服务器上,需要从ServerData内获取并复制,Addressables不能直接将文件打包到远端