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使用

相关推荐
地狱为王8 小时前
Unity使用NovaSR将沉闷的16kHz音频升频成清晰的48kHz音频
unity·游戏引擎·音视频·novasr
dzj202110 小时前
Unity中使用LLMUnity遇到的问题(二)——LLMUnity脚本学习和探索
unity·llmunity
警醒与鞭策14 小时前
Cursor Agent Skill 原理及LLM , Agent, MCP ,Skill区别
android·unity·ai·cursor
孟无岐1 天前
【Laya】Socket 使用指南
websocket·typescript·游戏引擎·游戏程序·laya
tealcwu1 天前
【Unity资源】Unity MCP 介绍
unity·游戏引擎
晚霞的不甘1 天前
Flutter for OpenHarmony 引力弹球游戏开发全解析:从零构建一个交互式物理小游戏
前端·flutter·云原生·前端框架·游戏引擎·harmonyos·骨骼绑定
Thomas_YXQ1 天前
Unity3D中提升AssetBundle加载速度的详细指南
java·spring boot·spring·unity·性能优化·游戏引擎·游戏开发
Miss_SQ2 天前
Unity接入AI—Deepseek,数据流式传输
unity·ai