目录
前言
Unity中创建一个项目时,会有许多默认文件夹,这些文件夹是用来存放什么文件的呢?我们能否访问这些文件夹?本文将介绍这些文件夹。
工程路径获取
工程文件路径指的是你创建这个项目时,游戏数据文件夹的路径。这就意味着如果这个项目打包/构建后,将构建后的游戏文件夹发送到另一台电脑上,在另一台电脑上是无法获取工程文件路径的(当然也没必要获取)。
在Unity编辑模式下,我们才可能使用到工程路径。
这个路径取决于运行时所基于的平台,详见Application.dataPath.
可以使用Application.dataPatg获取其路径。
“运行时”被加粗了,这个指的是Run Time,构建后的程序实际执行的阶段。
Resources
这个文件夹在开发过程中经常使用,一些需要动态加载的资源都会放在该文件夹下。Unity创建项目模板后,不会自动创建Resources文件夹,所以我们需要手动在Assets文件夹下创建Resources文件夹。
我们能通过Application.dataPath + 路径名获得其文件夹路径。
这个文件夹有以下特点:
- 需要使用Resources API动态加载的资源可以放在该文件夹;
- 游戏构建时,该文件夹会被打包,也就是说构建后的游戏文件夹中的游戏资源不会一个一个展示,全都打包在一个文件里了;
- 文件夹打包时会压缩加密;
- 打包后的文件夹内容只可读,只能通过Resources API加载。
StreamingAssets
该文件夹和Resources一样,不会自动创建,需要我们手动创建。
Application.streamingAssetsPath获得该文件夹的路径。
打包后无法通过Application.dataPath拼接路径以获得其路径,不同平台的路径是不同的。
该文件夹具有以下特点:
- 打包后无加密;
- 移动平台只读,PC可读可写;
- 可以放入一些自定义加载规则的资源,比如纸牌游戏动态制卡时,存放纸牌角码和花色的XML配置文件。
PersistentDataPath
该文件夹无需自己创建。一般是游戏运行过程中保存的数据,例如存档。游戏存档在Windows平台下一般在`用户名/AppData`中能够找到。
可以使用Application.persistentDataPath获取该文件夹路径,不同平台,路径是不同的。
该文件具有以下特点:
- 所有平台可读可写;
- 一般放置动态下载或动态创建的文件,游戏的下载或创建的文件,例如存档、配置信息等。
Plugins
该文件夹存储插件、第三方库以及原生平台代码。具有以下特点:
- 存放插件;
- 存储多个平台的插件的文件夹。
Editor
该文件夹存放只在Unity编辑器中运行的脚本或工具。具有以下特点:
- 可以通过Application.dataPath拼接获取其路径;
- 存放对编辑器进行修改的相关脚本,例如自定义菜单命令和自定义Inspector面板;
- 不会被打包,因为只在编辑器中运行。
Standard Assets
该文件是Unity提供的默认资源文件夹和一些通用的脚本,在一些官方模板项目中会有。
总结
| 文件夹 | 是否需要手动创建 | 作用 |
|---|---|---|
| Resources | 是 | 使用相关API动态加载资源,压缩加密打包内容 |
| StreamingAssets | 是 | 自定义资源加载规则,打包内容不会加密 |
| PersistentDataPath | 否 | 放置动态下载或创建的资源,游戏下载或创建的资源 |
| Plugins | 是 | 存储多个平台的插件 |
| Editor | 是 | 放置编辑器拓展脚本 |
| Standard Assets | 是 | 默认资源文件夹,存放一些Unity自带组件 |