【Unity基础知识之三】Unity Assets目录下的特殊文件夹名称

Unity3D的特殊目录名称

 
Unity预留了一些目录名称,这些目录有着特殊的含义。比较重要的有:
  • Resources
    这个目录下的全部文件都会被打包到发布版本中,程序能够经过文件路径来访问它们。这个太有用了,像RPG游戏里面不少策划编辑的数据均可以保存到这里。可使用UnityEngine.Resources.Load()方法加载,相关的类还有TextAsset。
    详细的文档:http://docs.unity3d.com/Manual/LoadingResourcesatRuntime.html
  • Editor 
    在这里能够存放一些编辑器扩展脚本,这个目录里面的脚本可使用namespace UnityEditor。对于RPG项目来讲,常常有上百个怪物这种编辑需求,若是每个都要在编辑器里面拖拖拉拉来建立Prefab,那岂不是很累?能够写一个自动生成Prefab的脚本,在全部资源导入以后,自动建立Prefab供游戏运行时调用。
  • Plugins
    这里面就是放Native插件的,而引入的其余包没必要要放在这里。它应该为目标平台创建子目录:"Plugins/Android"、"Plugins/iOS"等。
这些目录还涉及到脚本的编译顺序,详细可参见手册: http://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html
还有其余一些更全面的特殊目录名称列表,可参见WIKI: http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder

 

 

-------------------------------------------------------------------------------------------------------------------------------------------php

1. 隐藏文件夹 html

以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入,脚本不会被编译。也不会出如今Project视图中。 
2. Standard Assets 
在这个文件夹中的脚本最早被编译。 
这个文件夹中的脚本会被导出到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使用的。 
4. Editor 
以Editor命名的文件夹容许其中的脚本访问Unity Editor的API。若是脚本中使用了在UnityEditor命名空间中的类或方法,它必须被放在名为Editor的文件夹中。Editor文件夹中的脚本不会在build时被包含。 
在项目中能够有多个Editor文件夹。 
注意:若是在普通的文件夹下,Editor文件夹能够处于目录的任何层级。若是在特殊文件夹下,那Editor文件夹必须是特殊文件夹的直接子目录。 
5. Plugins 
Plugins文件夹用来放native插件。它们会被自动包含进build中去。注意这个文件夹只能是Assets文件夹的直接子目录。 
在Windows平台下,native 插件是dll文件;Mac OS X下,是bundle文件;Linux下,是.so文件。 
跟Standard Assets同样,这里的脚本会更早的编译,容许它们被以外的脚本访问。 
5.1. Plugins/x86 
若是为32bit或64bit平台建立游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。若是这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。 
5.2. Plugins/x86_64 
若是为32bit或64bit平台建立游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。若是这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。 

若是要建立universal build,建议你同时使用这两个文件夹。而后将32bit和64bit的native plugins放进相应的文件夹中。 
5.3. Plugins/Android 
在这个文件夹里放入Java.jar文件。用于java语言的plugins。.so文件也会被包含进来。参考http://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html 
5.4. Plugins/iOS 
A limited, simple way to automatically add (as symbolic links) any .a, .m, .mm, .c, or .cpp files into the generated Xcode project. Seehttp://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html 
If you need more control how to automatically add files to the Xcode project, you should make use of the PostprocessBuildPlayer feature. Doing so does not require you to place such files in the Plugins/iOS folder. Seehttp://docs.unity3d.com/Documentation/Manual/BuildPlayerPipeline.html 

6. Resources 
Resources文件夹容许你在脚本中经过文件路径和名称来访问资源。但仍是推荐使用直接引用来访问资源。 
放在这一文件夹的资源永远被包含进build中,即便它没有被使用。由于Unity没法判断脚本有没有访问了其中的资源。 
项目中能够有多个Resources文件夹,所以不建议在多个文件夹中放同名的资源。 
一旦build游戏,Resources文件夹中的全部资源被打包进游戏存放资源的archive中。这样在游戏的build中就不存在Resources文件夹了。即便脚本中仍然使用了资源在项目中的路径。参考 http://docs.unity3d.com/Documentation/Manual/LoadingResourcesatRuntime.html 
注意:当资源做为脚本变量被访问时,这些资源在脚本被实例化后就被加载进内存。若是资源太大,你可能不但愿它被这样加载。那么你能够将这些大资源放进Resources文件夹中,经过Resources.Load来加载。当再也不使用这些资源了,能够经过Destroy物体,再调用Resources.UnloadUnusedAssets来释放内存。 
7. Editor Default Resources 
这是为editor 脚本使用的文件夹。 
8. Gizmos 
Gizmos文件夹存放用Gizmos.DrawIcon方法使用的贴图、图标资源。放在Gizmos文件夹中的贴图资源能够直接经过名称使用,能够被Editor做为gizmo画在屏幕上。 
9. WebPlayerTemplates 
用来替换web build的默认网页。这个文件夹中的脚本都不会被编译。这个文件夹必须做为Assets文件夹的直接子目录。 
10. StreamingAssets 
这里的文件会被拷贝到build文件夹中,不会修改(移动和网页版不一样,他们会被嵌入到最终build文件中)。它们的路径会因平台而有差别,但均可以经过Application.streamingAssetsPath来访问。 
参考http://docs.unity3d.com/Documentation/Manual/StreamingAssets.htmlhttp://docs.unity3d.com/Documentation/ScriptReference/Application-streamingAssetsPath.html。 

java

参考文献:web

http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder 编辑器

http://blog.csdn.net/neil3d/article/details/38435507ui

相关文章
相关标签/搜索