Unity的固定目录有Resources 、Editor 、StreamingAssets 、Plugins
Editor/Resources 目录可以存在多个,且可以存放在任意目录下
以此我们写编辑器插件时会把脚本放在Editor中,把辅助资源放在Resources中。
详细目录可以参考下面
- 3rd-Party (第三方插件),C#写的第三方插件
- Animations (动画相关的部分)
- Audio (音效相关的部分)
- Music (音乐相关的部分)
- SFX (特效音乐相关的部分)
- Materials (材质相关的部分)
- Models (模型相关的部分)
- Plugins ( U3D默认目录 ) (插件)不是C#语言写一些插件和库,比如java\js\C++,u3d默认目录,u3d是C#编译器,其他语言只有这个目录才能识别
- Prefabs (预制件)
- Resources (U3D默认目录 ) 资源,需要动态加载的资源放在这里,打包时在这个文件夹里的所有文件(不管有没有使用)都会全部打包。
所以不需要的文件不要放里面.并且打包时会压缩文件减小体积 - Textures (纹理相关的部分)
- Images (美术原始图片)
- Sandbox (沙盒)
- Scenes (场景)
- Levels (关卡)
- Other (其他)
- Scripts (脚本)
- Editor (u3d默认目录) 编辑器相关的内容,不参与打包
- Shaders (着色器)
- Common ()放原始资料,比如图集打包资料
- Fonts (字体)
- StreamingAssets (U3D默认目录 )StreamingBander放的目录,压缩文件,流式读取文件,生成app,
StreamingAssets这个文件夹下的资源也会全都打包在.apk或者.ipa 它和Resources的区别是,
Resources会压缩文件,但是它不会压缩原封不动的打包进去。
并且它是一个只读的文件夹,就是程序运行时只能读 不能写。
它在各个平台下的路径是不同的,不过你可以用Application.streamingAssetsPath 它会根据当前的平台选择对应的路径。
有些游戏为了让所有的资源全部使用assetbundle,会把一些初始的assetbundle放在StreamingAssets目录下,
运行程序的时候在把这些assetbundle拷贝在Application.persistentDataPath目录下,
如果这些assetbundle有更新的话,那么下载到新的assetbundle在把Application.persistentDataPath目录下原有的覆盖掉。
因为Application.persistentDataPath目录是应用程序的沙盒目录,所以打包之前是没有这个目录的,
直到应用程序在手机上安装完毕才有这个目录。StreamingAssets目录下的资源都是不压缩的,所以它比较大会占空间,
比如你的应用装在手机上会占用100M的容量,那么你又在StreamingAssets放了一个100M的assetbundle,那么此时在装在手机上就会在200M的容量。