Unity资源文件夹介绍
1.编辑时
在Asset文件下存在Resources和SteamingAsset文件夹;
Resources
只读不可修改,打包时直接写死,没有办法通过热更新替换资源;
可以存放任何格式的资源;
通过Resources.Load加载;
一般只存登录UI,congfig配置等不会修改的文件;
//加载
GameObject go = Resources.Load<GameObject>(path);
Sprite sp = Resouces.Load(path,typeof(sprite)) as sprite;
TextAsset txt = Resources.Load(path) as TextAsset;
SteamingAssets
存放打包后Unity打包后的资源,也就是我说的AssetBundle(ab包);
可读可写,打包后移动端不能使用File类读取(用过www读取streamingAssetspath数据拷贝到persistentDataPath);
2.安装后
Application.dataPath
包含游戏数据文件夹的路径,app程序包安装路径(不常用);
1.UnityEditor——默认Assets——可读可写 using StreamReader/StreamWriter/异步
2.Andriod——data/app/xxx.apk——不可读不可写
3.IOS——Application/.....app/Data——可读不可写(读没意义)
Application.streamingAssetsPath
数据流换成目录,外部数据文件(二进制,AssetsBundle.csv、数据裸露不加密);
1.除了Andriod都可读可写,使用WWW或者System.IO都可以;
2.Andriod只读,只能用WWW读写——第三方压缩/解压库实现读写(待研究);
3.安装包资源目录,不可修改;
Application.presistentDataPath
持久化存储目录,应用更新、覆盖安装都不会清除;
1.全平台可读可写——stream和file都可以读写;
2.热更新资源存放目录;
Application.temporaryCachePath
临时换成目录,可读可写(只有ios常用);
3.AssetBundle
资源压缩文件(ab包),非路径,一种压缩文件的格式;
通过的File读取后,解析成需要的对象;
AssetBundle ab = AssetBundle.LoadFromFile(path);
GameObject go = ab.LoadAsset<GameObject>(name);