Unity 框架如何做好资源管理

Unity 资源管理需求分析

作为架构师,在开始动手之前,先分析清楚需求,你才能设计出合理的方案,我们来分析一下Unity资源管理都有哪些需求,把需求想清楚了,设计是自然而然的事情。

Unity资源管理主要需求:

对啦!这里有个unity学习交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。

Unity资源管理的技术方案

我们先回顾一下Unity的一些资源管理方案,分析一下各自的优缺点。

(1): 传统的Resources 方案以被淘汰。

(2) 基于纯AssetsBundle的方案。

现在越来越多的游戏采用纯AssetsBundle来做资源管理, 我们来看看如何使用纯AssetsBundle来做资源管理。

A: 代码如何加载资源

B: AssetsBundle资源包放哪里呢?

AssetsBundle资源包非常灵活,既可以放远程服务器,又可以放本地,接下来我们一起来看下AssetsBundle资源包如何存放,如何更新。

打包的时候,如果你想打入到安装包里面去,那么我们可以把Ab资源包放StreammingAssets目录下,打包进去。加载的时候,使用UnityWebRequest加载StreammingAssets目录下的ab包。如果打空包, 那么StreammingAssets不放任何资源包就可以了。AssetsBundle更新的时候, 先根据版本判断,下载最新的AssetsBundle到私有可写目录下(每个应用,在操作系统上都有自己的一个可写的私有目录)。

C: 如何使用更新AssetsBundle包

D: 资源包要分平台与渠道。

我们知道不同的平台(win64, x86, Mac, iOS Android) 要打不同的资源包,所以我们一般会扩展编辑器,统一一个窗口来管理与打包AssetsBundle资源包。打包界面,如图:

每次打包的时候,你知道打的是哪个平台,哪个渠道哪个版本的资源包,输出的时候也分平台分渠道。

E: 非常方便的指定哪些资源要导入到哪个ab包。

3 基于Addressable 的资源管理。

Unity 自己推出了基于Addressable的资源管理,本质上和我们上面的AssetsBundle系统类似,有兴趣的同学可以关注一下这个模式的资源管理的发展。

资源管理与更新,是Unity架构师的重中之重,希望大家能有收获。

猜你喜欢

转载自blog.csdn.net/voidinit/article/details/126297635