Unity(二)——Resources资源动态加载

特殊文件夹

一、工程路径获取

Application.dataPath

一般情况下只在编辑模式下使用

二、Resources资源文件夹

路径获取

cs 复制代码
print(Application.dataPath+"/Resources");

需要手动创建Resources

作用:需要通过Resources相关的API,该文件夹下的所有文件都会被打包出去,打包时Unity会对其压缩加密,该文件夹打包后只读,只能通过Resources相关API加载

三、StreamingAssets流动资源文件夹

cs 复制代码
print(Application.streamingAsstePath);

需要手动创建

千万不能写成上面那种获取方式

作用:打包出去不会被压缩加密,移动平台只读,PC端可读可写,可以放入一些需要自定义动态加载的初始资源

四、PreisitentDataPath持久数据文件夹

路径获取

cs 复制代码
print(Application.persistentDataPath);

作用:固定数据文件夹,任何平台可读可写

五、Pligins插件文件夹

路径获取,一般不获取

需要自己创建

作用:不同平台的插件相关文件

六、Editor编辑器文件夹

路径获取,一般不获取

需要自己创建

作用:放编辑器相关文件

Resources同步加载

注意:自己创建,名字不能写错

一、Resources资源加载的作用

通过代码动态加兹安Resources文件夹下指定路径资源,避免繁琐的拖曳动作

二、常用资源类型

1.预设体------GameObject

2.音效文件------AudioClip

3.文本文件------TextAsset

3.图片文件------Texture

5.其他类型------需要什么用什么类型

注意:预设体对象加载需要实例化,其他资源加一般直接用

三、资源同步加载 普通方法

1.预设体加载

创建到场景上,所以要实例化

cs 复制代码
//第一步:加载预设体资源文件
Object obj = Resources.Load("Cube");
//第二步:一定要进行实例化
Instantiate(obj);

2.音效资源

切片文件是要放在音效文件的切片上

后面是在Resources文件下的文件路径

3.文本资源

文本资源支持的文件:

.txt

.xml

.bytes

.json

.html

.csv

4.图片资源

5.资源同名解决方式

四、资源同步加载 泛型方法

Resources异步加载

一、Resources异步加载是什么

为了防止同步加载造成的卡顿,开多线程来防止卡顿

缺点:不能马上加载使用,至少要等一帧

二、Resources异步加载方法

1.通过异步加载中的完成事件监听,使用加载的资源

固定搭配

2.通过协程 使用加载的资源

协程异步加载要舒服一点,自我感觉

Resources卸载资源

一、Resources重复加载资源不会浪费内存

加载完之后就作为缓存了,不会浪费内存,但是会浪费性能

二、如何手动释放掉缓存的资源

注意:不能释放GameObject的和实例化的对象

1.卸载指定资源

2.卸载未使用资源

一般配合GC使用

相关推荐
天人合一peng41 分钟前
unity 生成标记根据背景色标记变色
unity·游戏引擎
天人合一peng4 小时前
unity 生成标记根据背景色变色为明显的颜色
unity·游戏引擎
魔士于安5 小时前
Unity 超市总动员 超市收银台 超市货架 超市购物手推车 超市常见商品
游戏·unity·游戏引擎·贴图·模型
CandyU25 小时前
Unity —— 数据持久化
unity·游戏引擎
zh路西法5 小时前
【Unity实现Oneshot胶卷显形】游戏窗口化与Win32API的使用
游戏·unity·游戏引擎
迪捷软件6 小时前
显控系统虚拟仿真的工程化路径
游戏引擎·cocos2d
凡情10 小时前
android隐私合规检测
android·unity
小贺儿开发10 小时前
Unity3D 本地 Stable Diffusion 文生图效果演示
人工智能·unity·stable diffusion·文生图·ai绘画·本地化
Swift社区11 小时前
传统游戏引擎 vs 鸿蒙 System 架构
架构·游戏引擎·harmonyos
mxwin1 天前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader