【Unity】Addressables资源管理笔记

【Unity】Addressables资源管理笔记

Addressables是一种用于管理资源的系统。允许以一种灵活的方式加载、卸载和管理资源,无论是场景、预制件、材质、纹理、音频剪辑等。

一、快速实现

  1. 安装Addressables插件

  2. 把对象添加到组

    1)打开AddressablesGroups面板

    window→AssetManagement→Addressables→Grounps

    2)建立环境预制体到组

    打包预制体后直接拖拽到默认的组(Default Local Group)下

    这里可以看见预制体自动添加了一个寻址路径,拿到这个路径就可以动态加载该资源

  3. 加载对象

    简单的资源加载

        void Update(){if (Input.GetKeyDown(KeyCode.C)){AddAsset();}}void AddAsset(){Addressables.LoadAssetAsync<GameObject>("Assets/Prefab/Environment_Prefab.prefab").Completed +=(asyncOperationHandle) =>{if (asyncOperationHandle.Status == AsyncOperationStatus.Succeeded){Instantiate(asyncOperationHandle.Result);}else{Debug.Log("加载失败");}};}
    

二、加载方法

  1. 根据路径加载

     void AddAsset(){asyncOperationHandle = Addressables.LoadAssetAsync<GameObject>("Assets/Prefab/Environment_Prefab.prefab");asyncOperationHandle.Completed += AsyncOperationHandle_Completed;}void AsyncOperationHandle_Completed(AsyncOperationHandle<GameObject> asyncOperationHandle){if (asyncOperationHandle.Status == AsyncOperationStatus.Succeeded){Instantiate(asyncOperationHandle.Result);}else{Debug.Log("加载失败");}}
    
  2. 根据标签加载

        [SerializeField] AssetLabelReference labelReference;void AddAssetForAssetLabelReference(){Addressables.LoadAssetAsync<GameObject>(labelReference).Completed +=(asyncOperationHandle) =>{if (asyncOperationHandle.Status == AsyncOperationStatus.Succeeded){Instantiate(asyncOperationHandle.Result);}else{Debug.Log("加载失败");}};}
    
  3. 指定预制体加载

     [SerializeField] AssetReference assetReference;void AddAssetForAssetReference(){assetReference.LoadAssetAsync<GameObject>().Completed+=(asyncOperationHandle) =>{if (asyncOperationHandle.Status == AsyncOperationStatus.Succeeded){game= asyncOperationHandle.Result;Instantiate(game);}else{Debug.Log("加载失败");}};}
    
  4. 加载多个资源

        void AddAssetForAssetLabelReferences(){Addressables.LoadAssetsAsync<GameObject>(labelReference, (addAesst) => { Instantiate(addAesst); }).Completed +=(asyncOperationHandle) =>{if (asyncOperationHandle.Status == AsyncOperationStatus.Succeeded){Debug.Log("加载成功");}else{Debug.Log("加载失败");}};}
    
  5. 加载创建与卸载

       
    GameObject game;void AddAssetForAssetInstantiateAsync(){assetReference.InstantiateAsync().Completed += (asyncOperation) => game = asyncOperation.Result;}void ClearInstantiateAsset(){//该方法只适用于InstantiateAsync创建的资源assetReference.ReleaseInstance(game);GC.Collect();}
    
  6. 远程加载

    1)开启远程

    window→AssetManagement→Addressables→Setting

    勾选BuildRemoteCatalog

    Build&Load Paths 选择Remote

选择资源组Addressables Asset Grounp

Build&Load Paths 选择Remote

2)修改配置文件

window→AssetManagement→Addressables→Profiles

Remote.BuildPath是创建路径

Remote.LoadPath是远程地址

[BuildTarget]是发布是类型文件夹,比如webgl和StandaloneWindows64

这里可以创建多个配置文件

3)发布

发布后可以在对应的文件夹下找到资源文件

网发布文件的时候,需要将整个文件夹一起拷贝到地址下

这里可以从配置文件中看到

配置文件地址通常在StreamingAssets→aa下

包括:settings.json和catalog.json

最后建议还是使用AssetBundle,自己写配置和依赖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/126265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GB28181协议如何注册

前言 GB28181协议是视频监控领域的国家标准&#xff0c;本文将解析如何在FFmpeg中增加对GB28181协议的支持&#xff0c;使其可以与支持GB28181协议的设备进行通信与控制&#xff0c;实现设备的注册、保活以及流媒体的传输。 1.背景介绍 GB28181协议指的是国家标准GB/T 28181…

自定义类型结构体(上)

目录 结构体类型的声明结构体的概念结构体的声明特殊的声明结构的自引用 结构体变量的创建和初始化结构成员访问操作符 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x1f978;&#x1f978;&#x1…

2023年【R1快开门式压力容器操作】报名考试及R1快开门式压力容器操作实操考试视频

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 R1快开门式压力容器操作报名考试是安全生产模拟考试一点通总题库中生成的一套R1快开门式压力容器操作实操考试视频&#xff0c;安全生产模拟考试一点通上R1快开门式压力容器操作作业手机同步练习。2023年【R1快开门式…

BurpSuite超详细安装教程-功能概述-配置-使用教程---(附下载链接)

一、介绍 BurpSuite是渗透测试、漏洞挖掘以及Web应用程序测试的最佳工具之一&#xff0c;是一款用于攻击web 应用程序的集成攻击测试平台&#xff0c;可以进行抓包、重放、爆破&#xff0c;包含许多工具&#xff0c;能处理对应的HTTP消息、持久性、认证、代理、日志、警报。 二…

Windows11无法打开Photoshop CC 2017问题解决

情况描述&#xff1a; Windows11上&#xff0c;双击Photoshop CC 2017没反应 解决办法&#xff1a; 此时需要启动Windows的“事件查看器”来确认问题出在哪里。可以直接通过开始菜单搜索启动&#xff0c;也可以通过右键点击“此电脑”->“管理”&#xff0c;然后找到事件查…

java基础+数据库基础+系统+JVM问题

的哎的哎 1、基础部分 java线程池 队列的选择 答&#xff1a; SingleThreadPool:适用于多个任务顺序执行的场景。 它使用的是LinkedBlockingQueue<>()&#xff0c;无界的阻塞队列&#xff0c;就意味着会有内存溢出的风险。 FixedThreadPool: 适用于任务量固定耗时长的…

Find My移动硬盘|苹果Find My技术与移动硬盘结合,智能防丢,全球定位

当今已经是数据的时代&#xff0c;各种东西需要保存下来的很多&#xff0c;电脑、手机等设备更换频率也快&#xff0c;确实每个人都需要一个自己的"数据库"&#xff0c;而移动硬盘无疑是最有性价比、最简单使用的选择。移动硬盘一直是我们生活中不可或缺的存储工具&a…

DevChat:VSCode中基于大模型的AI智能编程助手

#AI编程助手哪家好&#xff1f;DevChat“真”好用# 文章目录 1. 前言2. 安装2.1 注册新用户2.2 在VSCode中安装DevChat插件2.3 设置Access Key 3. 实战使用4. 总结 1. 前言 DevChat是由Merico公司精心打造的AI智能编程助手。它利用了最先进的大语言模型技术&#xff0c;像人类…

IDEA在service面板中不显示微服务的项目

在.idea文件夹下的workspace文件中的project标签内添加如下代码段&#xff0c;&#xff0c;重启idea即可看到所有服务出现在了service面板中 <component name"RunDashboard"><option name"configurationTypes"><set><option value&q…

干货来袭 只需套用模板就能制作的电子相册的网站

随着科技的不断发展&#xff0c;电子相册已经成为了我们生活中不可或缺的一部分。但是&#xff0c;制作电子相册的过程却往往让人感到头疼。那么&#xff0c;有没有一种简单易用的方法来制作电子相册呢&#xff1f;今天&#xff0c;就给大家介绍一款只需套用模板就能制作的电子…

opencv c++ canny 实现 以及与halcon canny的对比

Opencv和C实现canny边缘检测_opencv边缘增强-CSDN博客 一、canny实现步骤 1、图像必须是单通道的&#xff0c;也就是说必须是灰度图像 2、图像进行高斯滤波&#xff0c;去掉噪点 3、sobel 算子过程的实现&#xff0c;计算x y方向 、梯度&#xff08;用不到&#xff0c;但是…

预安装win11的电脑怎么退回正版win10?

对于新购的笔记本 通常来讲预装的系统是全新安装的&#xff0c;是没有之前Windows10系统文件的&#xff0c;无法回退。 可以打开设置-----系统----恢复-----看下是否有该选项。 ------------------------------------------------------------------------------- 若是在上述…

Vue.js中的双向数据绑定(two-way data binding)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Redis统计大法:挖掘数据的四重宝藏【redis第五部分】

Redis统计大法&#xff1a;挖掘数据的四重宝藏 前言第一&#xff1a;redis集合统计简介第二&#xff1a;聚合统计->数据的综合分析总和&#xff08;Sum&#xff09;&#xff1a;平均值&#xff08;Average&#xff09;中位数&#xff08;Median&#xff09; 第三&#xff1a…

RuoYi若依源码分析1 - security

Security springsecurity配置文件夹 security springsecurity总配置类 SecurityConfig.java SecurityConfig 总配置分析 首先看一下总配置&#xff0c;我们可以从总配置项里面大体的总结出springsecurity鉴权在ruoyi框架里面是如何执行的 自动装配关键处理类以及过滤器等…

oracle 将数据库中聚合的id按指定的符号分割后合并为一列

在这里插入图片描述 数据库中存在这样的数据是clob字段并且是多个先将其拆分聚合为一列成 SELECT distinct REGEXP_SUBSTR(to_char(p.ids), [^;], 1, LEVEL) AS id FROM xxxxx p CONNECT BY REGEXP_SUBSTR(to_char(p.ids), [^;], 1, LEVEL) IS NOT NULL

力扣第62题 不同路径 c++ 动态规划 dp二维 + dp一维 解法

题目 62. 不同路径 中等 相关标签 数学 动态规划 组合数学 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Fini…

【QT】鼠标常用事件

新建项目 加标签控件 当鼠标进去&#xff0c;显示【鼠标进入】&#xff0c;离开时显示【鼠标离开】 将QLable提升成自己的控件&#xff0c;然后再去捕获 添加文件 改继承的类名 提升类 同一个父类&#xff0c;可以提升 效果 现在代码就和Qlabel对应起来了。 在.h中声明&…

科研迷雾:读研以来,我发现的科研界“怪象”

1 引言 随着读论文和做实验的增多&#xff0c;我发现了sci的很多猫腻经不起细细推敲&#xff0c;原来科研并不如我想象的神圣&#xff0c;还不如工业界来的实在&#xff0c;因为在工业界做项目出现问题&#xff0c;客户是验收不了不给付钱的。所以论文只是一个玩具。 2 常见的…

大数据预处理与采集实验三:Urllib的GET和POST请求(1)

目录 Urllib基本操作-GET ➢没有进行utf-8编码的输出 ➢经过utf-8decode之后的输出 ➢ Timeout参数&#xff1a;捕获由于连接超时而引发的异常 ◆Urllib基本操作-定制请求头 ➢ 在GET请求中加入多个访问参数 ◆Urllib基本操作-POST ➢有道词典网页爬取&#xff1a;找到…