千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:南京千锋IT培训  >  技术干货  >  浅析Unity Addressables

浅析Unity Addressables

来源:千锋教育
发布人:qyf
时间: 2023-01-10 16:15:54

  我们都知道,AssetBundle是Unity中常用于对游戏资源打包的一种方法,继传统Resources.Load加载方式后出现的,AssetBundle 顾名思义,就是资源打包压缩,其支持压缩类型包括模型、贴图、材质、动画、声音、视频、场景、预制体、或者自定义的二进制文件资源等,都可以进行压缩打包,功能也是颇为强大。同时它还可以更大程度减少包体大小,并且达到资源管理、热更新的作用。

  但是今天小编和大家重点浅析是Unity 2018.3+推出的优秀Unity Addressable的可寻址资产管理系统,相比之前的Asset bundle ,这个系统更全面、更便捷使用。

  Unity Addressable官方文档:https://docs.unity3d.com/Packages/com.unity.addressables@1.18/index.html

  1、首先是项目中引入Addressables插件 ,Window -> Package Manager 。

图片 1

图片 2

  2、快速应用Addressables。

  2.1 学会初始化配置 Addressables System (Window > Asset Management > Addressables > Groups),创建Addressables Group。

图片 3

  2.2 学会为需要的内容标识为Addressable,当然也可以选择分不同的组,例如材质资源在一个标签(Labels)下,场景资源在一个标签(Labels)下,另外注意至少有一个默认组。

图片 4

  2.3 学会配置发布策略,在Packed Assets 设置Content Packing & Loading(查看路径:Window > Asset Management > Addressables >Profiles),可设置本地构建/远程构建。

图片 5

图片 6

  2.4 学会构建打包发布,配置好资源分组,根据需要设置Play Mode Script,再通过Build > New Build > Default Build Script打包。

图片 7

  2.5 成功打包,查看打包后的产物,便可放置远程加载调用。

  .hash文件内只包含一个Catalog文件的Hash值,用于客户单检测Catalog更新时,通过对比这个Hash值,判断是否有Catalog更新。

  .json文件内包含每个AB包的Hash值和地址。

  .bundle 就是打包的实际资产内容。

图片 8

  3、然而Addressable初步应用下来,因为发现里面属性/选项特别多,概念也不少,想快速理解也是有些困难的。所以小编想以树形思维与大家一起来深析里面的属性。

图片 9

  4、接着还想提一下Addressables 一些超常的优势。

  4.1 使用Addressable可以通过弱引用的方式来加载资源,不加载之前是没有内存消耗的,加载后也可以完全卸载掉,对内存管理十分友好。

  4.2 Addressable Asset Bundle可以自动加载相关依赖包,而AssetBundle是需要编程实现的。

  4.3 Addressable Asset Bundle加载到内存中的bundle有引用计数,而AssetBundle加载到内存中的bundle需要自己进行管理。

  4.4 Addressable Asset Bundle加载地址灵活。

  4.5 Addressable提供了从资源标志、分组、打包、加载、更新一体化全套流程,属于全面性资源管理系统。

  5、最后Addressables 常用的代码应用接口。

图片 10

  学习无止境,上述也只是重在应用层面的,后续可以深入Addressables的源码解析哈,欢迎大家敲窗交流!

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

三元运算符是什么?三元运算符怎么用

2023-06-20

Java常量是什么?

2023-06-14

保证Servlet线程安全的方法有哪些?

2023-06-05

最新文章NEW

什么是javascript?

2023-06-12

javascript常用正则

2023-04-20

用c语言编写爱心的代码

2023-04-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>