(转)Unity Assets目录下的特殊文件夹名称

原文:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder

1.隐藏文件夹
以.开头的文件夹会被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

参考文献:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder

时间: 2024-10-12 08:03:27

(转)Unity Assets目录下的特殊文件夹名称的相关文章

Unity Assets目录下的特殊文件夹名称

1.隐藏文件夹 以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中.2.Standard Assets 在这个文件夹中的脚本最先被编译. 这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass项目中,依语言而定.参考http://docs.unity3d.com/Documentation/Ma

【译】Unity工程目录中的特殊文件夹

转自: http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder Unity中一些特定名字的文件夹有特殊的属性. Hidden Folders Unity会忽略以.起始命名的文件夹(例如 ".UnitTests/",".svn/"),放在这种文件夹中的资源不会被导入到Unity中,脚本也不会被编译,同时在工程视图中无法看到此类型的文件夹. (windows视窗下无法命名为

Android开发系列(十七):读取assets目录下的数据库文件

在做Android应用的时候,不可避免要用到数据库.但是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客解决了我前面博客中写的一个小游戏的一个问题,另外也可以读取Raw目录下的数据库文件) 这就造成了一个问题,这个问题其实很好解决,解决方法如下: 我们首先把有数据的数据库文件放在assets资源目录下边,然后在apk应用启动的时候,把assets目录下的数据库文件的数据写入到真机的内存中去. 下边开始我们的代码编写:

eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法

如图:在src/main/resources目录下创建的文件夹却以包的图标显示  修改方法: 入下图,按顺序1 ,2,3,4操作,把3处remove,在4处添加**  修改后如下:  然后点击完成后,文件夹图标显示正常了 

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

递归列出一个目录下所有的文件夹和文件

package chapter10; import java.io.File; /** * 列出一个目录下所有的文件夹和文件 * */public class TestFile02 { public static void main(String[] args) { File file = new File("E:\\av"); listFile(file); } public static void listFile(File file) { File[] files = file.

删除指定目录下的空文件夹

//删除制定目录下的所有空文件夹 //num=0 第一次遍历该文件夹 num=1 第二次遍历该文件夹 public static void ListDirectory(File file,int num)throws Exception { if(!file.exists()) { throw new IllegalArgumentException("目录"+file+"不存在"); } else if(!file.isDirectory()) { throw n

遍历指定目录获得文件名或者文件夹名称,或者两则都要

1 仅获得文件名的方法 2 function fileAction($dir) 3 { 4 static $files = array(); // 使用静态变量,预防递归调用的时候覆盖 5 foreach (glob($dir.DIRECTORY_SEPARATOR.'*') as $file) 6 // DIRECTORY_SEPARATOR :目录分隔符 win下 \ ,Linux下 / 7 { 8 if(!is_dir($file)){ 9 $files[] = $file; 10 }el

排序式列出指定目录下的指定文件/夹——《Thinking in Java》随笔027

1 //: SortedDirList.java 2 /// 此程序可以对一个目录进行列出. 3 4 package c10; 5 6 import java.io.File; 7 import java.io.FilenameFilter; 8 import java.util.Arrays; 9 import java.util.Comparator; 10 11 /** 12 * @time: 上午11:52:04 13 * @date: 2017年4月29日 14 * @auther: