当前位置: 首页 > web >正文

Addressable-加载指定资源

1、Addressables中的资源标识类

  • AssetReference                通用资源标识类 可以用来加载任意类型资源
  • AssetReferenceAtlasedSprite   图集资源标识类
  • AssetReferenceGameObject      游戏对象资源标识类
  • AssetReferenceSprite          精灵图片资源标识类
  • AssetReferenceTexture         贴图资源标识类
  • AssetReferenceTexture2D
  • AssetReferenceTexture3D
  • AssetReferenceT<>             指定类型标识类

通过不同类型标识类对象的申明 我们可以在Inspector窗口中筛选关联的资源对象

2、加载资源

注意:所有Addressables加载相关都使用异步加载
需要引用命名空间:using UnityEngine.ResourceManagement.AsyncOperations;

AsyncOperationHandle<GameObject> handle = assetReference.LoadAssetAsync<GameObject>();
handle.Completed += CompleteFunc;

加载成功后使用

  1. 通过事件函数传入的参数判断加载是否成功并且创建(handle.Status)
  2. 通过资源标识类对象判断 并且创建(assetReference.IsDone)

3、加载场景

sceneReference.LoadSceneAsync().Completed += (handle) =>{};

4、释放资源

assetReference.ReleaseAsset();

一定要资源加载过后,使用完成后再去释放 

  1. 释放资源方法后,资源标识类中的资源 (assetReference.Asset) 会置空,但是AsyncOperationHandle类中的对象 (handle.Result) 不为空
  2. 释放资源不会影响场景中被实例化出来的对象,但是会影响使用的资源,比如加载了一个预制件,然后释放资源,那么实例出来的预制件不会有影响,但是如果在预制件生成后再加载一个材质球并赋值给刚刚加载的预制件,然后再释放材质球的资源,那么预制件的材质球会丢失(Play Mode Script 需要是 Use Exsiting Build 才有可能生效)

5、直接实例化对象

AssetReferenceGameObject 的 InstantiateAsync 方法

6、自定义标识类(老版)

自定义类,比如继承AssetReferenceT<Material>类 即可自定义一个指定类型的标识类
该功能主要用于Unity2020.1之前,因为之前的版本不能直接使用AssetReferenceT泛型字段

http://www.xdnf.cn/news/7257.html

相关文章:

  • QT6 源(108)篇二:阅读与注释菜单栏里的菜单对象 QMenu,先是成员函数,后是信号函数的测试
  • Python 位运算:深入理解与实践应用
  • Linux开放访问端口
  • boost之signal2
  • 【ROS2】虚拟机使用fishros脚本一键安装humble
  • 我的创作纪念日——512天
  • 学习笔记:hspice仿真Verilog-a
  • ReentrantLock、ReentrantReadWriteLock、StampedLock讲解
  • ET Attribute
  • 【Python 算法零基础 4.排序 ① 选择排序】
  • 深度剖析:YOLOv8融入UNetv2 SDI模块的性能提升之旅
  • 游戏服务器之聊天频道设计
  • 双紫擒龙紫紫红指标源码学习,2025升级版紫紫红指标公式-重点技术
  • transformer project tutorial
  • volatile
  • Python实例题:Flask开发轻博客
  • mybatis中的resultMap的association及collectio的使用
  • 【动态规划】状压dp
  • Mlp-Mixer-BiGRU故障诊断的python代码合集
  • LLMs:《POE报告:2025年春季人工智能模型使用趋势》解读
  • 实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
  • 涉密载体管控系统|DW-S402系统组成
  • 【LLM MoE】论文分享No.11:DeepSeekMoE
  • 前缀和——中心数组下标
  • Leetcode 3552. Grid Teleportation Traversal
  • 【开源分享】健康饮食管理系统(双端+论文)
  • 2- PyTorch
  • 如何使用 Apple 提供的 benchmark 工具
  • 深入解析Spring Boot与Spring Cloud在微服务架构中的实践
  • 卷积神经网络进阶:转置卷积与棋盘效应详解