Assets
Assets文件夹是unity项目中放置游戏资源的主文件夹。
该文件夹中的内容将直接反应在编辑器的Project视口中。许多系统API基于该文件夹路径。
Resources
Unity允许你按需动态加载游戏资源到场景中。
Resource.Load :编辑时和运行时都可以通过Resource.Load来直接读取
Resources.LoadAssetAtPath() :它可以读取Assets目录下的任意文件夹下的资源,它可以在编辑时或者编辑器运行时用,它但是它不能在真机上用,它的路径是”Assets/xx/xx.xxx” 必须是这种路径,并且要带文件的后缀名。
AssetDatabase.LoadAssetAtPath():它可以读取Assets目录下的任意文件夹下的资源,它只能在编辑时用。它的路径是”Assets/xx/xx.xxx” 必须是这种路径,并且要带文件的后缀名。
你可以有多个Resources文件夹,不管是否是顶级文件夹都可以。
Resources文件夹下的资源不管你用还是不用都会被打包进.apk或者.ipa
StreamingAssets
当你需要使用某种保留原格式的资源,而不是经过Unity处理过的格式资源时,你可以将该资源放置于 StreamingAssets 文件夹中。
它和Resources的区别是,Resources会压缩文件,但是它不会压缩原封不动的打包进去。并且它是一个只读的文件夹,就是程序运行时只能读 不能写
它在各个平台下的路径是不同的,不过你可以用Application.streamingAssetsPath 它会根据当前的平台选择对应的路径。
Editor
文件夹中的脚本主要用来扩展unity编辑器的功能方便开发。这些脚本将不会打包进最终发布的游戏中。
Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以
Editor Default Resources
我们使用 Editor 文件夹中的脚本扩展unity编辑器的功能时,可以使用函数EditorGUIUtility.Load 加载资源。该函数将优先加载Assets下的以 Editor Default Resources 命名的一级子目录。如果没有找到将尝试通过名字查找内置于编辑器中的资源。
Plugins
文件夹中存放用于扩展unity功能的插件(多为C/C++写成的原生动态链接库(DLLs))。
这些插件可以访问第三方代码库,系统API以及其他超出Unity功能的模块。
一些底层的代码也可以放在这里,可以提高代码的编译速度。
因为这里的代码只有改变了才会编译。
Plugins/x86 和 Plugins/x86_64
如果为32bit或64bit平台创建游戏,那么这个文件夹下的native plugin文件会被自动的包含在游戏build中。如果这个文件夹不存在,则Unity会查找Plugins文件夹下的native pluglins。
如果要创建universal build,建议你同时使用这两个文件夹。然后将32bit和64bit的native plugins放进相应的文件夹中。
Plugins/Android 和 Plugins/iOS
在这个文件夹里放入Java.jar文件。用于java语言的plugins。.so文件也会被包含进来。
Gizmos
Unity的Gizmos类可在Scene视口中绘制图像用来显示设计细节。Gizmos.DrawIcon函数可以在场景视口中绘制一个图标以标记特殊的对象和位置。该函数使用的图像文件需要位于 Gizmos 中。
Hidden Assets
在导入阶段,Unity将完全忽略以下文件夹下的资源。
以 Hidden 命名的文件夹。
以 ‘.’ 开头的文件和文件夹
以 ‘~’ 开头的文件和文件夹
以 ‘cvs’ 命名的文件和文件
以 ‘tmp’ 为扩展名的文件