美文网首页
Resources目录介绍

Resources目录介绍

作者: 忻恆 | 来源:发表于2019-12-20 10:18 被阅读0次

Unity 的 Assets目录下有一些重要的文件夹没有被默认创建,一开始默认只有一个Scene目录。

在Packages目录下展示了当前工程的packages,该目录是只读的(2018版本后才有),只能通过PM变化。

场景可以存放在任意目录,不限于Scene目录。

Editor目录,用以存放辅助开发的工具,即编辑器。Editor目录的脚本不会被编译打包出去。

Editor Default Resources 存放工具所需的一些美化资源,唯一且只能放在Assets目录下。

Plugins目录存放第三方的代码,如SDK接入的文件,在编译时链接到DLL中。

Resources下的文件会被特殊打包,强制加载进内存。

Gizmos存储一些Scene界面的标线,图标等。

StreamingAsset 非常重要,Unity游戏发布时,只有Resources和StreamingAssets文件夹里的资源会被随包出去,复制到APK或者IOS的包内。更具体的在“目录分布“一文中介绍。

Resources的资源是同步加载的,而AB的资源是异步加载。AB资源无法直接看到资源情况。使用AB资源需要提前打包,否则会有Bug。开发期全部使用Resources替代。

但是Resources并不建议使用过度,因为会初始化加载全部的资源,而且常驻内存,增加启动时间,资源无法增加!

Resources一般只在以下情况使用:1.整个生命周期都需要的资源;2.不怎么占用内存的资源;3.不因平台差异变化的资源;4.用于启动的资源。

序列化

构建项目的时候,Resources下的文件会被序列化为一个文件,且拥有自己的metadata和索引信息,用红黑树实现资源查找。(红黑树是每个合格的程序员都应该实现一遍的高效数据结构)用于索引FileGUID和LocalGUID,记录偏移量。

AssetDatabase -- 成熟的方案

在编辑器模式下的加载类,提供了 常用接口,同步加载,用宏区分Editor模式,模拟AssetBundles加载。

相关文章

网友评论

      本文标题:Resources目录介绍

      本文链接:https://www.haomeiwen.com/subject/thkvnctx.html