jjzjj

Addressable

全部标签

Unity 之 Addressable可寻址系统 -- 资源加载和释放 -- 进阶(二)

可寻址系统资源--加载和资源释放--进阶(二)一,资源加载1.1同步异步对比1.2三种加载模式二,释放资源2.1基础概念2.2实例演示2.2.1示例演示一2.2.2示例演示二2.3注意事项概述:本篇文章从资源加载的方式和具体示例演示,为大家介绍可寻址资源系统的资源加载和资源释放。一,资源加载1.1同步异步对比同步异步相关概念:同步:是指一个进程在执行某个请求的时候,如果该请求需要一段时间才能返回信息,那么这个进程会一直等待下去,直到收到返回信息才继续执行下去。异步:是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态,当有信息返回的时候会通知进程进行处理。举个简单的例子帮助理

Unity Addressable 快速使用

说明:下文中Addressable简称Aa使用Aa的原因使用Aa可以做到动态加载,这里的动态加载指的是当我们需要某个资源的时候才去加载它。这里的资源可以是预制体、图片、音效等等。这样做的好处是:避免资源全部一次性加载,占用不必要的内存,避免手机资源加载缓慢、手机发热,卡顿。可以做到资源的热更,注意这里的资源不包括代码。这部分后面再细说。安装Aa.CN后缀的是加密版本,但是好像有看到文章说有大量GC存在,还没查验过。这里先使用没有后缀版本的。使用Aa1.创建Aa2.添加需要动态加载的资源方法1:选中资源,在Inspector中勾选Aa方法2:选中资源,直接拖拽到Aa面板中注意事项添加了需要动态加

Unity Addressable 快速使用

说明:下文中Addressable简称Aa使用Aa的原因使用Aa可以做到动态加载,这里的动态加载指的是当我们需要某个资源的时候才去加载它。这里的资源可以是预制体、图片、音效等等。这样做的好处是:避免资源全部一次性加载,占用不必要的内存,避免手机资源加载缓慢、手机发热,卡顿。可以做到资源的热更,注意这里的资源不包括代码。这部分后面再细说。安装Aa.CN后缀的是加密版本,但是好像有看到文章说有大量GC存在,还没查验过。这里先使用没有后缀版本的。使用Aa1.创建Aa2.添加需要动态加载的资源方法1:选中资源,在Inspector中勾选Aa方法2:选中资源,直接拖拽到Aa面板中注意事项添加了需要动态加

Addressable 异步加载场景并获取加载进度

项目场景:一开始用PercentComplete函数获取加载进度,发现每次都是从0.85开始计算,不准,官方文档解释:“PercentComplete将反映总体操作的进展情况,而不会准确地表示仅下载百分比或加载到内存中的百分比。”,“要获得准确的下载百分比,请使用GetDownloadStatus()。”GetDownloadStatus().Percent:将计算完成的百分比作为介于0和1之间的浮点值返回。解决方案:使用GetDownloadStatus().Percent获取下载进度voidStart(){StartCoroutine(LoadScene());}IEnumeratorLo

[游戏开发]Unity Addressable打包策略

前言Addressables的基础看这篇文章Addressable全教程最近公司在写新的框架,决定放弃老的bundle打包方式,使用Addressable,因此我要捋顺新的打包方案,并且解决所有疑问。正文打包的最终目的是:build出一堆Bundle文件,而哪些因素会影响出包结果,总结一下有3个关键因素和1个非关键因素关键因素1:AssetGroups自定义AssetGroup关键因素2:BundleMode关键因素3:自定义Label一张图就可以看懂这三项如何使用修改该Group的BundleMode之前是PackTogether,现在修改成PackTogetherByLabel,执行增量打

Unity HybridCLR + Xlua + Addressable 要点记要

接入缘由老工程原本是C#,想做热更,于是接入了Xlua和Addressable。由于工程老,人手也不够,只是新代码使用Xlua,老功能(尤其是核心战斗还是C#)。大半年后觉得并不能达到预期需求。于是通过再接入Hybrid来解决最终问题。HybridCLR的接入,以及原理这里就不重复说明了,在官网上有非常详细的教程Github:https://github.com/focus-creative-games/hybridclr接入过程中出现的错误,第一时间查看官网的“常见错误”。能解决绝大多数问题Xlua相关注意事项:Hybrid不支持GetCompent(“xxxx”)的使用方式,需要统一改成G

Unity 之 Addressable可寻址系统 -- 可寻址系统面板介绍 -- 入门(二)

可寻址系统面板介绍--入门(二)一,可寻址系统目录介绍1.2创建分组1.2目录介绍二,可寻址系统设置介绍2.1Profile-配置文件2.2Catalog-目录2.3ContentUpdate-内容更新2.4Downloads-下载2.5Build-构建2.6BuildandPlayModeScripts2.7AssetGroupTemplates-配置的组模板2.8Initializationobjectlist-初始化对象列表2.9CloudContentDelivery-云内容交付三,可寻址系统资源组设置3.1ContentUpdateRestriction-内容更新限制3.2Conte

Unity之Addressable使用注意事项

基本设置Profile文件中配置资源构建路径和资源首次加载路径,资源如何设置了缓存,在首次加载之后会将再用缓存在缓存目录,后面将直接从缓存目录中读取,方便项目发包时候进行使用AddressableAssetSettings文件DisableCatalogUpdateOnStartup勾选改选项,禁止自动更新,项目资源下载一般需要提示玩家下载资源大小和下载进度,需要通过代码进行手动下载更新BuildRemoteCatalog创建远端资源的catalog,用于热更新资源设置BuildPath和LoadPath根据自身网络状况设置资源最大的请求数和下载超时时间Group文件注意设置BundleMod

【Unity】Addressable 整个文件夹标注名称后,加载资源出错的问题UnityEngine.AddressableAssets.InvalidKeyException

使用版本Unity:2020.3.0f1Addressable:Version1.16.10-November12,2020【2020.4.15】增加该报错下第二种诡异的方式问题描述1一个常见的使用场景,图放在文件夹下,在程序中的置换使用整个文件夹勾选Addressable例如:文件夹TestAAddressable的命名也为TestA文件夹内存放Sprite名称为TestA_0001.pngAddressableGroup内的显示代码内使用LoadAssetAsync加载“TestA/TestA_001.png”报错:ExceptionencounteredinoperationComple

Unity 3D模型展示框架篇之资源打包、加载、热更(Addressable Asset System | 简称AA)

本项目将整合之前Unity程序基础小框架专栏在Unity3D模型展示项目基础上进行整合,并记录了集成过程中对原脚本的调整过程。增加了AssetBundle+ILRuntime热更新技术流程。前面文章中对项目功能完成项目框架整合,完成模型展示的基本功能,后续的篇幅主要进行资源热更和代码热更的实现。官方推出的AddressableAssetSystem进行资源热更简称AA,作者在网上找了不少介绍Addressables系统的文章,经过验证总结结合案例记录Addressables系统的使用经验。使用AssetBundle形式,加载的时候要注意AB包之间的依赖关系,资源重复打包的问题,做资源热更新也要