您的位置:首页 > 移动开发 > Unity3D

Unity工程特殊名字文件夹小结

2015-04-13 13:04 357 查看

Hidden Folders

Folders that start with a dot(e.g. ".UnitTests/", ".svn/") are ignored by Unity. Anyassets in there are not imported, and any scripts in there are not compiled.They will not show up in the Project view.

以.开头(例如:".UnitTests/", ".svn/")的文件夹会被unity忽略。在这种文件夹下的任何资源都不会被导入,任何脚本也不会被编译。并且也不会出现在Unity—Project视图中。

 "Standard Assets"

Scripts in here are alwayscompiled first. Scripts are output to either Assembly-CSharp-firstpass,Assembly-UnityScript-firstpass, or Assembly-Boo-firstpass, depending on thelanguage. Seehttp://docs.unity3d.com/Documentation/Manual/ScriptCompileOrderFolders.html

Scripts inside the Standard Assetsfolder will be compiled earlier than your other scripts. So, placing scripts inStandard Assets is one way for C# scripts to be able to access .js scripts orvice-versa.

在这个文件夹下的脚本通常是最先被编译,而且会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或Assembly-Boo-firstpass项目中,依语言而定。参考http://docs.unity3d.com/Documentation/Manual/ScriptCompileOrderFolders.html。在这个文件夹下的脚本比其他脚本都要先编译。将脚本放在这个文件夹里,就可以用C#脚本来访问js脚本或其他语言的脚本。

 

"Pro Standard Assets"

Same with Standard Assets, onlyfiles here are meant for the Pro version. This means assets here make use ofPro-only features like render textures and screen-space effects.

Again, scripts here are compiledearlier, allowing them to be accessed by other scripts (of any language) thatare outside the Pro Standard Assets folder.

跟Standard Assets相同,只不过里面的文件是给Pro版的Unity使用的。也就是说利用像渲染纹理和屏幕空间效果等专门用于Pro版的Unity使用的。

 

"Editor"

The Editor folder name is aspecial name which allows your scripts access to the Unity Editor ScriptingAPI. If your script uses any classes or functionality from the UnityEditornamespace, it has to be placed in a folder called
Editor.

Scripts inside an Editor folderwill not be included in your game's build. They are only used in the UnityEditor.

You can have multiple Editorfolders throughout your project.

Note: An Editor folder not locatedin another special folder can be placed/nested anywhere in the project.However, if it's in "Standard Assets", "Pro StandardAssets", or "Plugins", it must be a direct child of these folders.Otherwise,
it will not get processed. For example, it's ok to have a path like "MyExtension/Scripts/Editor", but if placed in a special folder, it mustalways be "Standard Assets/Editor/My Extension/Scripts", or"Pro Standard Assets/Editor/My
Extension/Scripts", or "Plugins/Editor/MyExtension/Scripts".

以Editor命名的文件夹允许其中的脚本访问Unity Editor的API。如果脚本中使用了UnityEditor命名空间中的类或方法,它必须放在名为Editor的文件夹下才能正常使用,并且在build时不被包含。还可以在你的项目中有多个编辑器文件夹。

注意:如果在普通的文件夹下,Editor文件夹可以处于目录的任何层级。如果在特殊文件夹下,那Editor文件夹必须是特殊文件夹的直接子目录。(例如:"My Extension/Scripts/Editor","Standard Assets/Editor/MyExtension/Scripts"…)

 

"Plugins"

The "Plugins" folder iswhere you must put any native plugins, which you want to be accessible by yourscripts. They will also be automatically included in your build. Take note thatthis folder may not be in any subfolder (it has
to reside within the top-levelAssets folder).

In Windows, native plugins existas .dll files, in Mac OS X, they are .bundle files, and in Linux, they are .sofiles.

Like the Standard Assets folder,any scripts in here are compiled earlier, allowing them to be accessed by otherscripts (of any language) that are outside the Plugins folder.

Plugins是用来放native插件。它们会被自动包含进build中去。注意这个文件夹只能是Assets文件夹的直接子目录。

在Windows平台下,native 插件是dll文件;Mac OS X下,是bundle文件;Linux下,是.so文件。

和Standard Assets一样,这里的脚本会更早的编译,允许它们被之外的脚本访问。

 

"Plugins/x86"

If you are building for 32-bit ora universal (both 32 and 64 bit) platform, and if this subfolder exists, anynative plugin files in this folder will automatically be included in yourbuild. If this folder does not exist, Unity
will look for native plugins insidethe parent Plugins folder instead.

如果为32bit或64bit平台创建游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。如果这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。

 

 "Plugins/x86_64"

If you are building for 64-bit ora universal (both 32 and 64 bit) platform, and if this subfolder exists, anynative plugin files in this folder will automatically be included in yourbuild. If this folder does not exist, Unity
will look for native plugins insidethe parent Plugins folder instead.

If you are making a universal build, it's recommended you make both the x86 andx86_64 subfolders. Then have the 32-bit and 64-bit versions of your nativeplugins in the proper subfolder correspondingly.

如果为32bit或64bit平台创建游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。如果这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。

如果要创建universal build,建议你同时使用这两个文件夹。然后将32bit和64bit的native plugins放进相应的文件夹中。

 

"Plugins/Android"

Place here any Java .jar files youwant included in your Android project, used for Java-based plugins. Any .sofile (when having Android NDK-based plugins) will also be included. Seehttp://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html

在这个文件夹里放入Java.jar文件。用于java语言的plugins。.so文件也会被包含进来。参考http://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html

 

"Plugins/iOS"

A limited, simple way toautomatically add (as symbolic links) any .a, .m, .mm, .c, or .cpp files intothe generated Xcode project. Seehttp://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html

If you need more control how toautomatically add files to the Xcode project, you should make use of thePostprocessBuildPlayer feature. Doing so does not require you to place suchfiles in the Plugins/iOS folder. Seehttp://docs.unity3d.com/Documentation/Manual/BuildPlayerPipeline.html

 

 "Resources"

The Resources folder is a specialfolder which allows you to access assets by file path and name in your scripts,rather than
d8cb
by the usual (and recommended) method of direct references (asvariables in scripts, wherein you use drag-and-drop
in the Unity Editor).

For this reason, caution isadvised when using it. All assets you put in the Resources folder are alwaysincluded in your build (even if it turned out that they are unused), because,since you are using them via scripts, Unity then
has no way of determiningwhich Resources-based assets are used or not.

You can have multiple Resourcesfolders throughout your project, so it is not recommended to have an asset inone Resources folder and have another asset with that same name in anotherResources folder.

Once your game is built, allassets in all Resources folders get packed into the game's archive for assets.This means the Resources folder technically doesn't exist anymore in your finalbuild, even though your code will still
access them via the paths that existedwhile it was in your project.

Also see http://docs.unity3d.com/Documentation/Manual/LoadingResourcesatRuntime.html
Take note when assets are accessedas variables of MonoBehaviour scripts, those assets get loaded into memory oncethat MonoBehaviour script is instantiated (i.e. its game object or prefab isnow in the scene). This may be undesirable,
if the asset is too large and youwant more control of when it gets loaded into memory.

Consider putting such large assetsin a Resources folder, and load them viaResources.Load. When not used anymore,
you can free the memory ittook up by callingObject.Destroy on the object, followed by

Resources.UnloadUnusedAssets.

Resources文件夹允许你在脚本中通过文件路径和名称来访问资源。但还是推荐使用直接引用来访问资源。

放在这一文件夹的资源永远被包含进build中,即使它没有被使用。因为Unity无法判断脚本有没有访问了其中的资源。

项目中可以有多个Resources文件夹,因此不建议在多个文件夹中放同名的资源。

一旦build游戏,Resources文件夹中的所有资源被打包进游戏存放资源的archive中。这样在游戏的build中就不存在Resources文件夹了。即使脚本中仍然使用了资源在项目中的路径。参考http://docs.unity3d.com/Documentation/Manual/LoadingResourcesatRuntime.html

注 意:当资源作为脚本变量被访问时,这些资源在脚本被实例化后就被加载进内存。如果资源太大,你可能不希望它被这样加载。那么你可以将这些大资源放进 Resources文件夹中,通过Resources.Load来加载。当不再使用这些资源了,可以通过Destroy物体,再调用 Resources.UnloadUnusedAssets来释放内存。

 

"Editor Default Resources"

This folder functions like aResources folder, but is meant for editor scripts only. Use this if your editorplugin needs to load assets (e.g. icons, GUI skins, etc.) while making suresaid assets won't get included in the user's
build (putting such files in anormal Resources folder would have meant that those assets would be included inthe user's game when built).

As editor scripts aren'tMonoBehaviour scripts, you can't do the usual way of accessing assets (i.e.dragging-and-dropping via the Inspector). The "Editor DefaultResources" is for a convenient way around this.

To access assets inside the"Editor Default Resources", you need to useEditorGUIUtility.Load.

Take note that unlikeResources.Load, EditorGUIUtility.Load requires you to specify the filenameextension of the asset you're trying to load. So it has to be"myPlugin/mySkin.guiskin" instead of "myPlugin/mySkin".

To free memory used byEditorGUIUtility.Load, callObject.Destroy on the object, then call

EditorUtility.UnloadUnusedAssets.

Afaik, only one "EditorDefault Resources" folder can be present, and it has to be directly underthe top Assets folder.

"Gizmos"

The gizmos folder holds all thetexture/icon assets for use withGizmos.DrawIcon. Texture assets placed inside
this folder can becalled by name, and drawn on-screen as a gizmo in the editor.

Gizmos文件夹存放用Gizmos.DrawIcon方法使用的贴图、图标资源。放在Gizmos文件夹中的贴图资源可以直接通过名称使用,可以被Editor作为gizmo画在屏幕上。

 

"WebPlayerTemplates"

Used to replace the default webpage used for web builds. Any scripts placed here will not be compiled at all.This folder has to be in your top-level Assets folder (it should not be in anysubfolder in your Assets directory).

 用来替换web build的默认网页。这个文件夹中的脚本都不会被编译。这个文件夹必须作为Assets文件夹的直接子目录。

"StreamingAssets"

Any files in here are copied tothe build folder as is, without any changes (except for mobile and web builds,where they get embedded into the final build file). The path where they are canvary per platform but is accessible via
Application.streamingAssetsPath (http://docs.unity3d.com/Documentation/ScriptReference/Application-streamingAssetsPath.html)
Also seehttp://docs.unity3d.com/Documentation/Manual/StreamingAssets.html

这里的文件会被拷贝到build文件夹中,不会被修改(除了移动和网页版,会被嵌入到最终build文件中)。不同的平台不同的路径,但都可以通过Application.streamingAssetsPath来访问。

参考http://docs.unity3d.com/Documentation/Manual/StreamingAssets.html

http://docs.unity3d.com/Documentation/ScriptReference/Application-streamingAssetsPath.html

译文:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity Resources Editor