斗斗金 2022-09-13 22:50 采纳率: 50%
浏览 40
已结题

资源加载问题理解正确吗

关于assetdatabase resource assetbundle 这3个我理解的区别 ,但是我感觉我理解的不对 希望给我纠正下
assetdatabase 只能在游戏开发阶段使用,真是发布后 运行游戏时候就不能使用
resource 只能加载简单资源,不能加载复杂资源,因为他加载是一次性把所有文件都加载了
assetbundle 正式发布 不管热更 还是啥都使用这个加载 所以唯一学会这个就可以了
我这样理解对吗?
如果有其他理解请能方便写下来 非常感谢了

  • 写回答

1条回答 默认 最新

  • 陈言必行 Unity领域优质创作者 2022-09-14 07:27
    关注
    1. Resources:
      只读文件;资源全部被无条件被打进包内;这个文件夹下的资源将被加密和压缩打包;若是单机游戏或者比较简单的项目实用这种形式是完全可以的。之所以不推荐使用这种加载方式是因为:包体较大,切内存管理起来不方便,资源不能被热更新,所以一般复杂的实战项目不使用这种方式。
      推荐查看官方文档:https://unity3d.com/cn/learn/tutorials/topics/best-practices/resources-folder

    2. AssetBundle:简称AB包
      就是把所有的资源打成bundle包,然后用户使用时再从bundle加载,这个包可以存在本地,也可以传到服务器。第一是因为如果所有文件都出现在apk中,那么安装包就会很大。第二点,也是最主要的原因,就是因为更新,如果不使用AssetBundle,那么一次很小的更新,也需要用户重新下载安装包,这一点就很不方便。

    3. Addressable Asset System:简称AA,中文名称:可寻址系统。
      其本质是Unity官方对AssetBundle的封装,为了使开发者更方便快捷的掌握打包资源。设置项比较多,加载逻辑也和之前两种略有不同。相对于AssetBundle的好处就是,不用自己写脚本打包资源了,而是通过插件的即可一键打包,资源热更也是非常方便。
      官方学习视频:https://www.bilibili.com/video/BV1N4411q7NA?spm_id_from=333.999.0.0&vd_source=8855d4e9279aa6050d0069e2926c1059

    若都没学习过的话,推荐学习顺序,Resources,AA,AB。

    Resources:虽然有弊端,但是也是Untiy原生加载系统,非常简单易上手,用处也比较多,所以推荐优先学校。
    AA:Unity亲儿子,以后可能都会往这个方向发展,所以这个也是必须要学习的。
    AB:则可以按需要去学,学会AA的话,AB的很多概念也都明白了,再学习成本也会低不少。若没有实战项目使用的话,则可以暂时不用学习。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月16日
  • 已采纳回答 9月14日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用