【Unity】Addressable Assets System学习笔记

本文是Unity的Addressable Assets System学习笔记,介绍了如何设计游戏资源加载、安装包拆分、资源包管理、资源追踪、优化加载方法等内容。Addressables是一个高级资源管理系统,可以替代Asset Bundle,提供自动化仓储管理和运行时内存管理,支持异步加载和本地/远程资源追踪。
摘要由CSDN通过智能技术生成

【Unity】Addressable Assets System

寻址式资源管理系统学习笔记

  • 教学视频网址: https://www.bilibili.com/video/BV1N4411q7NA?from=search&seid=9501846827487133762

学习内容:

  1. 如何设计游戏资源加载的迭代设计
  2. 如何设计安装包和资源包或DLC的拆离设计
  3. 如何设计可切换的高清包和省电包等不同分辨率的纹理包
  4. 如何通过本系统设计换皮功能
  5. 如何检查资源是否下载并加载完成
  6. 如何制作后面添加的资源扩充包
  7. 如何在本地端模拟服务器加载资源包的流程

什么是Addressables?

  • 可以取代Asset Bundle的高阶管理系统
  • 天涯海角都会追踪到的信标(Address)
  • 自动化仓储管理
  • 本地或是异地都可以追踪
  • 大多数形态资源都可以追踪
  • 只加载有关联的资源
  • 运行阶段优良的内存管理
  • 迭代便利

Instantiate()

  • 同步实例化
  • 资源已在本地端
  • 会等到工作结束后才继续运行
  • 大量加载容易造成卡顿
  • 如何使用Addressable优化? 代码如下:
//public GameObject prefab; 改为:
public AssetRefrence prefab;

//Instantiate(prefab); 改为:
prefab.InstantiateAsync(); //异步加载

LoadAssetAsync()

  • 异步加载
  • 资源可以在本地也可以在远端服务器
public List<AssetReference> prefabs; //使用List存储预制体
bool assetsReady = false; //是否已经加载完毕, 准备实例化
int toLoadCount; //需要加载的数量
int prefabIndex = 0;
void Start()
{
   
	toLoadCount = prefabs.Count;
	foreach(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值