Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门(一)

news2025/1/18 9:00:52

可寻址系统面板概念 -- 入门(一)

  • 一,可寻址系统概念介绍
    • 1.1 官方话术
    • 1.2 几个概念
  • 二,可寻址系统目录介绍
    • 2.1 导入工程
    • 2.2 目录介绍

概述:本片文章带大家了解可寻址系统的相关概念,为大家介绍可寻址系统导入方法和目录介绍。

一,可寻址系统概念介绍

1.1 官方话术

Unity Addressable Asset system 提供了一个可以随着您的项目而增长的系统。您可以从一个简单的设置开始,然后随着项目复杂性的增长和团队规模的扩大而重新组织,您可以通过最少的代码更改来完成所有这些。

也被简称为:AA,aa

例如,您可以从一组可寻址资产开始,Unity 将其作为一组加载。然后,当您添加更多内容时,您可以将资产分成多个组,以便在给定时间仅加载您需要的那些。随着团队规模的扩大,您可以创建单独的 Unity 项目来开发不同类型的资产。这些辅助项目可以生成它们自己的 Addressables 内容构建,您可以从主项目加载这些构建(同样只需最少的代码更改)。

关键特性:
Addressables 系统的一个关键特性是您可以为资产分配地址,并使用这些地址在运行时加载它们。Addressables 资源管理器在内容目录中查找地址以找出资产的存储位置。

而此时的资产可以内置到应用程序中、本地缓存或远程托管。资源管理器加载资产和任何依赖项,如有必要,首先下载内容。


1.2 几个概念

介绍几个Addressables系统管理的相关概念:

  • 资产地址:标识可寻址资产的字符串 ID。您可以使用地址作为加载资产的密钥。
  • 资产引用:可用于支持将 Addressable 资产分配给 Inspector 窗口中的字段的类型。您可以使用 AssetReference 实例作为加载资产的键。AssetReference类还提供了自己的加载方法。
  • 标签:您可以分配给多个资产并用于将相关资产作为一个组一起加载的标签。您可以使用标签作为加载资产的键。
  • 资产位置:描述如何加载资产及其依赖项的运行时对象。您可以使用位置对象作为加载资产的键。
  • Key:标识一个或多个 Addressables 的对象。键包括地址、标签、AssetReference 实例和位置对象。
  • 资产加载和卸载:Addressables API 提供了自己的函数来在运行时加载和释放资产。
  • 依赖项:资产依赖项是一种资产被另一个使用的资产,例如场景资产中使用的预制件或预制件资产中使用的材质。
  • 依赖和资源管理:Addressables 系统使用引用计数来跟踪正在使用的资产和 AssetBundle,包括系统是否应该加载或卸载依赖项(其他引用的资产)。
  • 组:您将资产分配给编辑器中的组。组设置决定了 Addressables 如何将组资产打包到 AssetBundle 中,以及它如何在运行时加载它们。
  • 内容目录:Addressables 使用目录将您的资产映射到包含它们的资源。
  • 内容构建:使用 Addressables 时,您可以在构建播放器之前将内容构建用于整理和打包您的资产作为单独的步骤。
  • 多平台支持:构建系统分离平台构建的内容并在运行时解析正确的路径。
  • Addressables 工具:Addressables 包包含多个窗口和工具,用于组织、构建和优化您的内容。
    默认情况下,Addressables 使用 AssetBundles 来打包您的资产。您还可以实现自己的IResourceProvider类来支持访问资产的其他方式。

二,可寻址系统目录介绍

2.1 导入工程

导入可寻址系统:Window->Package Manager 打开面板后,Packages选择UnityRegistry,然后在搜索框搜索Addressables

AddressablesAddressables.CN(中国版)的区别是:中国版新增了打包加密功能,若需要可以点击查看

官方文档:https://ucgbucket.unitychina.cn/AssetStreaming/AddressablesCN.pdf

PS: 当使用AA的加密功能时,可以将资源保护起来,但是同时也会带来性能上的消耗。消耗主要在解密资源上,同时加密资源内容放在Application.persistentDataPath上,解密过程中不仅占用cpu,也会耗费额外内存空间。

然后选择一个,点击右下角“Install”安装导入工程即可。


2.2 目录介绍

工程到导入后就会在Window->Asset Management->Addressables看到可寻址系统的几个工具目录:

它们分别是:GroupsSettingsProfilesEvent ViewerAnalyzeHosting

  • Groups:资源组
    组列表显示项目中的可寻址组。展开列表中的组以显示其包含的资产。您还可以展开复合资源,例如 Sprite 表,以显示它们包含的子对象。
  • Settings:可寻址系统的各种设置
  • Profiles:配置文件
    配置文件包含一组可寻址构建脚本使用的变量。这些变量定义了诸如保存构建工件的位置以及在运行时加载数据的位置等信息。您可以添加自定义配置文件变量以在您自己的构建脚本中使用。
  • Event Viewer:事件查看器
    可寻址系统使用Event Viewer窗口来监控资产的内存管理。此窗口可以显示应用程序何时加载和卸载资产,并显示所有可寻址系统操作的引用计数。此窗口还显示了应用程序帧速率和分配的托管内存总量的大致视图。我们可以使用这些图表来检测可寻址事件(例如加载和释放资产)如何影响应用程序性能,并检测您从未释放的资产。
  • Analyze:分析工具
    分析工具是一种收集有关项目的可寻址布局信息的工具。在某些情况下,Analyze 可能会采取适当的措施来清理您的项目状态。
  • Hosting:托管服务
    托管服务提供了一个集成工具,用于使用可寻址资产配置数据从 Unity 编辑器中将打包内容提供给本地或网络连接的应用程序构建。托管服务可以在测试打包内容时提高迭代速度,还可以为本地和远程网络上的连接客户端提供内容。

TODO:下一篇文章会详细说明可寻址系统各个面板的属性和使用介绍 --> Unity 之 资源加载 – 可寻址系统面板介绍 – 入门(二)

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

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

相关文章

Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发

对于 Elasticsearch 的新主要版本 (8.x.x),有关于在 Docker 上运行 Elasticsearch 和 Kibana 的重大更新。 过去适用于以前版本的 Docker 和 Docker Compose 的命令和语法需要更新才能适用于最新版本。 在这篇文章中,我们将介绍如何使用 Docker 和 Docke…

Hudi系列5:Hudi与Spark集成

文章目录一. Spark操作Huid概述二. Spark-Shell方式三. pyspark方式四. SparkSQL方式参考:一. Spark操作Huid概述 Hudi各个版本支持Spark版本情况: 将hudi集成spark的jar包,放到spark的jars目录 -- 同步到其它节点 cd /home/hudi-0.12.0/packaging/hudi-spark-b…

【设计模式】UML类图

设计模式学习之旅(一) 查看更多可关注后查看主页设计模式DayToDay专栏 一.UML概述 统一建模语言(Unified Modeling Language,UML),是一种用于软件系统分析和设计的语言工具。特点是简单、统一、图形化、能表达软件设计中的动态与静…

Matlab论文插图绘制模板第72期—金字塔图

前段时间,有朋友觉得一篇文章里的插图看着不错,问Matlab能不能实现: 想了想,Matlab中并没有现成的画图代码。 但本质上,这种图其实就是横向柱状图的变体,而横向柱状图的绘制模板之前有分享过: …

Java多线程:线程的优先级 || 线程的中断 || 线程的分类 || 线程的定时器

Java多线程:线程的优先级 || 线程的中断 || 线程的分类 || 线程的定时器 每博一文案 正如村上春树所说:“当暴风雨过去,你不会记得自己是如何度过的,你甚至不确定,暴风雨是否真正结束了, 但你已不再是当初…

分布式唯一ID的几种生成方案,一次性全掌握!

上一篇文章,我们聊了一下分库分表相关的一些基础知识,具体可以参见:《用真实业务场景告诉你,高并发下如何设计数据库架构?》。 这篇文章,我们就接着分库分表的知识,来具体聊一下全局唯一id如何…

Flutter 基础-上

一、初始化项目 Material Design (Google 推出的前端UI 解决方案) 官网: https://www.material.io/中文网: https://material-io.cn/ Flutter 中一切内容都是组件(Widget) 无状态组件(StatelessWidget)有状态组件(StatefulWidget) 二、app结构 MaterialApp title (任务管理器…

【VScode技巧】:platformio部署ESP32Cam开发板

学习目标: 前几天用Arduino开发了ESP32Cam,实现了人脸识别的功能,今天无聊想了想ESP32Can也可以在VScode的Platformio中使用,于是就试着配置了一下。以下是配置环境的过程,谢谢大家观看。 正所谓工欲善其事&#xff0c…

【零基础】学python数据结构与算法笔记10

文章目录前言57.链表介绍58.链表的创建和遍历59.链表的插入和删除60.双链表61.链表总结62.哈希表62.哈希表实现64.哈希表应用总结前言 学习python数据结构与算法,学习常用的算法, b站学习链接 57.链表介绍 链表是由一系列节点组成的元素集合。每个节点…

React配置文件(五) 配置less

代码如下: module.exports { webpack: override( addLessLoader({ lessOptions: { javascriptEnabled: true, modifyVars: { primary-color: #1DA57A }, }, }), adjustStyleLoaders(({ use: [, , postcss] }) > { const postcssOptions postcss.options postcss.options …

SEO初学者如何快速做好 SEO 优化?seo数据查询

昨天给大家介绍了seo的意义和重要性,今天让我们一起看看10个基本的SEO初学者技巧,如何优化网站以增加流量。 1. 研究关键词并使用尾词 关键词在SEO中起着重要的作用。关键字表明了你文章的主要主题,它使人们有可能在网上搜索感兴趣的主题时找…

RK3588平台开发系列讲解(日志篇)RK3588 syslog的使用

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、查看是否启用syslog.conf二、配置启用syslog.conf1、配置busybox2、添加配置文件3、编译buildroot烧录三、验证1、编写测试代码2、查看日志文件3、运行测试程序沉淀、分享、成长,让自己和他人都能有所收获!😄 …

SpringCloudAlibaba入门(2023版)

先知 架构图一览 创建Serve端 新建项目 配置文件 application.yaml server:port: 8080# Eureka配置 eureka:instance:## Eureka实例的名称hostname: localhostAclient:# false表示自己端就是注册中心,职责就是维护服务实例,并不需要去检查服务fetch-r…

Kafka-eagle 安装教程

参考资料: 参考视频 Kafka-eagle官网 解释:Kafka-eagle 后来更名为 EFAK ,所以打开官网会显示EFAK 环境准备: 要有本服务器可访问的MySQL服务,远程的请检查是否已经开启了MySQL远程访问,如果没有则需…

1.12 PWM实验

蜂鸣器--------TIM4 CH1/PB6 风扇-----------TIM1 CH1/PE9 马达-----------TIM16 CH1/PF6 一.PWM框图 RCC:使能GPIOB GPIOB:设置复用功能 TIM4:产生方波 二.分析RCC 确定总线,使能GPIOB和TIM4,GPIOE和TIM1,GPIO和TIM16 三.分…

【C++11】右值引用和移动语义

目录 一、左值 vs 右值 二、左值引用vs 右值引用 三、右值引用使用场景和意义 1. 左值引用的使用场景 2. 左值引用的短板 3. 右值引用和移动语义解决上述问题 四、右值引用引用左值的使用场景 五、完美转发 1. 模板中的&& 万能引用 2. std::forward 完美转发…

windows排查问题常用命令

查看JAVA进程占用PID: wmic process where caption"java.exe" get processid,caption,commandline /value查看进程端口信息:netstat -ano 或者 netstat -ano|findstr "8080" 或查看成功建立连接的:netstat -ano | findstr “ESTABLI…

C语言中的字符指针

目录1.字符指针指向一个字符2.字符指针指向一个字符串3.例题1.字符指针指向一个字符 int main() {char ch w;char *pc &ch;return 0; }将一个char类型的变量的地址放到一个char*类型的指针里去,这里的char*ps就是字符指针 在这里的字符指针与之前的整形指针等…

巧用gitbash的scp命令实现跨网段的文件直传

背景 嵌入式开发的工作流一般是这样的,程序员通过Windows电脑登陆Linux服务器,在服务器上编译出二进制文件后,先将文件scp到本地,然后再scp到Linux开发板,如下图所示 这样做需要执行两次scp命令,能否只执…

Golang cgo:如何在Go代码中调用C语言代码?

如何在Go代码中调用C语言代码? Go语言是通过自带的一个叫CGO的工具来支持C语言函数调用,同时我们可以用Go语言导出C动态库接口给其它语言使用。 方式一、直接在 Go 代码中写入 C 代码 检查是否开启cgo工具 首先,要查看是否已经开启cgo工具…