U2L9——特殊文件夹

其中最重要的文件夹就是Resources 资源文件夹、StreamingAssets 流动资源文件夹、persistentDataPath 持久数据文件夹

工程路径获取

注意 该方式 获取到的路径 一般情况下 只在编辑模式下使用
我们不会在实际发布游戏后 还使用该路径,游戏发布过后 该路径就不存在了!

该功能仅限于编辑模式下做一些编辑功能时才用到它,真正打包出去的游戏不可以用这个路径

1
print(Application.dataPath);

Resources 资源文件夹

该文件夹需要手动创建且一定不能取错名字,否则我们无法用api来进行相关操作了
路径获取:一般不获取
只能使用 Resources​ 相关API进行加载
如果硬要获取可以用工程路径拼接

关于这个文件夹详细的课程请看——>Resources资源动态加载

1
print(Application.dataPath + "/Resources");

注意:该文件夹需要我们自己创建
作用:资源文件夹
需要通过Resources​相关API动态加载的资源需要放在其中
该文件夹下所有文件都会被打包出去
打包时Unity会对其压缩加密
该文件夹打包后只读 只能通过Resources相关API加载
因此只有需要动态加载的资源需要放在其中,一些不会用到的资源不需要放在里面

StreamingAssets 流动资源文件夹

路径获取方法(切勿使用“工程路径+\StreamingAssents”来获取路径

1
print(Application.streamingAssetsPath);

注意:这个文件夹也需要我们自己创建
作用:流文件夹
打包出去不会被压缩加密,我们可以任意对其内容进行操作
移动平台只读,但PC平台可读也可写
可以放入一些需要自定义动态加载的初始资源

persistentDataPath 持久数据文件夹

路径获取

1
print(Application.persistentDataPath);

注意:该文件夹不需要我们自己手动创建
作用:固定数据文件夹
所有平台都可读可写
一般用于放置动态下载或者动态创建的文件,游戏中创建或者获取的文件都放在其中

Plugins 插件文件夹

路径获取:一般不获取

注意:需要我们自己创建
作用:插件文件夹
一般将不同平台的插件相关文件放在其中,比如IOS和Android平台

Editor 编辑器文件夹

路径获取:一般不获取
如果硬要获取可以用工程路径拼接

1
print(Application.dataPath + "/Editor");

注意:需要我们自己创建
作用:编辑器文件夹
开放Unity编辑器时,编辑器相关脚本放在该文件夹中
该文件夹中的内容不会被打包出去

Standard Assets 默认资源文件夹

路径获取:一般不获取

需要我们自己创建
作用:默认资源文件夹
一般Unity自带资源都放在这个文件夹下,代码和资源优先被编译

补充:工程所在文件夹

注意 该方式 获取到的路径 一般情况下 只在编辑模式下使用
该路径是项目根文件夹的路径,不带Assets​,准确来说是C#的.csproj文件所在路径

该功能仅限于编辑模式下做一些编辑功能时才用到它,真正打包出去的游戏不可以用这个路径

1
Debug.Log(System.Environment.CurrentDirectory);