1. 隐藏文件夹
以.开头的文件夹会被忽略。在这种文件夹中的资源不会被导入,脚本不会被编译。也不会出如今Project视图中。这种文件咱们能够在资源浏览器的时候,能找到这些文件。
2. Standard Assets
在这个文件夹中的脚本最早被编译。通常是放一些Unity 内置的一些资源。
这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass项目中,依语言而定。
官方文档:http://docs.unity3d.com/Documentation/Manual/ScriptCompileOrderFolders.html
在这个文件夹中的脚本比其余脚本都要先编译。将脚本放在这个文件夹里,就能够用C#脚原本访问js脚本或其余语言的脚本。
3. Pro Standard Assets
和Standard Assets相同,只不过里面的文件是给Pro版本的Unity使用的。固然它的功能更为的丰富,例如一些高级内置的shader文件,只有在Pro版才能起做用。
4. Editor
以Editor命名的文件夹容许其中的脚本访问Unity Editor的API。若是脚本中使用了在UnityEditor命名空间中的类或方法,它必须被放在名为Editor的文件夹中。Editor文件夹中的脚本不会在build时被包含。
在项目中能够有多个Editor文件夹。[注意:若是在普通的文件夹下,Editor文件夹能够处于目录的任何层级。若是在特殊文件夹下,那Editor文件夹必须是特殊文件夹的直接子目录。]
5. Editor Default Resources
你能够把编辑器用到的一些资源放在这里,好比图片、文本文件、等等。它和Editor文件夹同样都不会被打到最终发布包里,仅仅用于开发时使用。你能够直接经过EditorGUIUtility.Load去读取该文件夹下的资源,例如:
TextAsset text = EditorGUIUtility.Load(“1.txt")as TextAsset;
6. Plugins
Plugins文件夹用来放native插件。它们会被自动包含进build中去。注意这个文件夹只能是Assets文件夹的直接子目录。
例如:Windows:dll文件;
Mac OS X:bundle文件;
Linux下:.so文件。
和Standard Assets同样,这里的脚本会更早的编译,而且容许它们被以外的脚本访问。
6.0. Plugins/x86 || x86_64 (通常PC平台)
若是为32bit或64bit平台建立游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。若是这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。
若是要建立universal build,建议你同时使用这两个文件夹。而后将32bit和64bit的native plugins放进相应的文件夹中。
6.2. Plugins/iOS
在这个文件夹放入.o、.m 、 .mm 、.c 、.cpp等文件,通常在IOS 平台导出对应的文件。
官方文档:http://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html
7. Resources
Resources文件夹容许你在脚本中经过文件路径和名称来访问资源。放在这一文件夹的资源永远被包含进build中,即便它没有被使用。由于Unity没法判断脚本有没有访问了其中的资源。项目中能够有多个Resources文件夹,所以不建议在多个文件夹中放同名的资源。一旦build游戏,Resources文件夹中的全部资源被打包进游戏存放资源的archive中。这样在游戏的build中就不存在Resources文件夹了。即便脚本中仍然使用了资源在项目中的路径。
官方文档:http://docs.unity3d.com/Documentation/Manual/LoadingResourcesatRuntime.html
注意:当资源做为脚本变量被访问时,这些资源在脚本被实例化后就被加载进内存。若是资源太大,你可能不但愿它被这样加载。那么你能够将这些大资源放进Resources文件夹中,经过Resources.Load来加载。当再也不使用这些资源了,能够经过Destroy物体,再调用Resources.UnloadUnusedAssets来释放内存。
特色:
(1).文件夹内资源打包集成.asset 文件里面,例如一些shader/material/prefab等资源文件;
(2).里面的资源只能是只读,不能动态修改,通常动态的更新的资源不雅放在这个文件夹内;
(3).经过主线程加载;
(4). Resources.Load ();加载资源
Resources.LoadAll ();加载全部资源
Resources.LoadAsync ();异步加载资源
8. Gizmos
Gizmos文件夹存放用Gizmos.DrawIcon方法使用的贴图、图标资源。放在Gizmos文件夹中的贴图资源能够直接经过名称使用,能够被Editor做为gizmo画在屏幕上。这里仍是要说说OnDrawGizmos()方法,只要脚本继承了MonoBehaviour后,而且在编辑模式下就会每一帧都执行它。发布的游戏确定就不会执行了,它只能用于在scene视图中绘制一些小物件。好比要作摄像机轨迹,那么确定是要在Scene视图中作一个预览的线,那么用Gizmos.DrawLine 和Gizmos.DrawFrustum就再好不过了。
9. WebPlayerTemplates
用来替换web build的默认网页。这个文件夹中的脚本都不会被编译。这个文件夹必须做为Assets文件夹的直接子目录。
10. StreamingAssets 这里的文件会被拷贝到build文件夹中,不会修改(移动和网页版不一样,他们会被嵌入到最终build文件中)。它们的路径会因平台而有差别,但均可以经过Application.streamingAssetsPath来访问。 例如:有些游戏为了让全部的资源所有使用assetbundle,会把一些初始的assetbundle放在StreamingAssets目录下,StreamingAssets目录下的资源都是不压缩的,并且它比较大会占空间 <ignore_js_op>