Unity基础(十七)特殊文件夹名称

特殊文件夹名称


通常可为创建的文件夹选择任何名称来组织 Unity 项目。但是,Unity 会将许多文件夹名称解释为应以特殊方式处理文件夹内容的指令。例如,必须将 Editor 脚本放在名为 Editor 的文件夹中才能使这些脚本正常工作。

Assets


  • Assets 文件夹是包含 Unity 项目使用的资源的主文件夹。Editor 中的 Project 窗口的内容直接对应于 Assets 文件夹的内容。大多数 API 函数都假定所有内容都位于 Assets 文件夹中,因此不要求显式提及该文件夹。但是,有些函数需要将 Assets 文件夹作为路径名的一部分添加(例如,AssetDatabase 类中的一些函数)。

Editor


  • 放在名为 Editor 的文件夹中的脚本被视为 Editor 脚本而不是运行时脚本。这些脚本在开发期间向 Editor 添加功能,并在运行时在构建中不可用。

存放编辑器脚本,这里的脚本不会被打包到最终的游戏中。

  • 可在 Assets 文件夹中的任何位置添加多个 Editor 文件夹。应将 Editor 脚本放在 Editor 文件夹内或其中的子文件夹内。

  • Editor 文件夹的具体位置会影响其脚本相对于其他脚本的编译时间(有关此方面的完整说明,请参阅特殊文件夹和脚本编译顺序的相关文档)。使用 Editor 脚本中的 EditorGUIUtility.Load 函数可从 Editor 文件夹中的 Resources 文件夹加载资源。这些资源只能通过 Editor 脚本加载,并会从构建中剥离。

注意:如果脚本位于 Editor 文件夹中,Unity 不允许将派生自 MonoBehaviour 的组件分配给游戏对象。

Editor Default Resources


  • Editor 脚本可以使用通过 EditorGUIUtility.Load 函数按需加载的资源文件。此函数在名为 Editor Default Resources 的文件夹中查找资源文件。

存放使用EditorGUIUtility.Load函数读取的资源,主要供编辑器脚本使用。

  • 只能有一个 Editor Default Resources 文件夹,且必须将其放在项目的根目录;直接位于 Assets 文件夹中。将所需的资源文件放在此 Editor Default Resources 文件夹内或其中的子文件夹内。如果资源文件位于子文件夹中,请始终在传递给 EditorGUIUtility.Load 函数的路径中包含子文件夹路径。

Gizmos


  • Gizmos 允许将图形添加到 Scene 视图,以帮助可视化不可见的设计细节。Gizmos.DrawIcon 函数在场景中放置一个图标,作为特殊对象或位置的标记。必须将用于绘制此图标的图像文件放在名为 Gizmos 的文件夹中,这样才能被 DrawIcon 函数找到。

存放图片,在OnDrawGizmos函数内调用Gizmos。DrawIcon函数可以读取这里的图片将其作为图标在场景中显示。

  • 只能有一个 Gizmos 文件夹,且必须将其放在项目的根目录;直接位于 Assets 文件夹中。将所需的资源文件放在此 Gizmos 文件夹内或其中的子文件夹内。如果资源文件位于子文件夹中,请始终在传递给 Gizmos.DrawIcon 函数的路径中包含子文件夹路径。

Resources


点我跳转详情页面

  • 可从脚本中按需加载资源,而不必在场景中创建资源实例以用于游戏。为此,应将资源放在一个名为 Resources 的文件夹中。通过使用 Resources.Load 函数即可加载这些资源。

  • 可在 Assets 文件夹中的任何位置添加多个 Resources 文件夹。将所需的资源文件放在 Resources 文件夹内或其中的子文件夹内。如果资源文件位于子文件夹中,请始终在传递给 Resources.Load 函数的路径中包含子文件夹路径。

只读,其中的文件打包时会压缩加密,使用Resources.Load方法动态加载,一般放一些动态加载的模型资源Prefab、Object之类的,跟cocos的Resources是一样的。
这个文件夹好不好?好!但是该不该随便用呢?答案是不应该。
1:它使内存管理变得困难;
2:不恰当的使用Resource文件夹,会增加程序启动时间和打包时间;
3:降低了工程中的内容转换到特定平台的能力,使内容更新困难;
4:随着Resources文件夹数量的增加,对这些文件夹中的Assets的管理变得非常困难;
5:资源系统降低了项目向特定平台提供自定义内容的能力,并消除了增量内容升级的可能性;
6:unity为了兼容所有平台,Resources文件下的资源使用的统一打包,这就会对资源的优化有一定的限制,比如说把图片放在Resource文件夹下,unity不会对这些图片做压缩,这无异是增加了包体大小。

  • 请注意,如果 Resources 文件夹是 Editor 的子文件夹,则其中的资源可通过 Editor 脚本加载,但会从构建中剥离。

Standard Assets


  • 导入标准资源包(菜单:Assets > Import Package__)时,资源将放在一个名为 Standard Assets__ 的文件夹中。除了包含资源之外,这些文件夹还会对脚本编译顺序产生影响;请参阅关于特殊文件夹和脚本编译顺序的页面以了解更多详细信息。

标准unity资源包存放路径。这个文件夹中的脚本语言会被最先编译,这个文件夹下面的会导出到一些Assembly里面。

  • 只能有一个 Standard Assets 文件夹,且必须将其放在项目的根目录;直接位于 Assets 文件夹中。将所需的资源文件放在此 Standard Assets 文件夹内或其中的子文件夹内。

StreamingAssets


  • 尽管将资源直接合并到构建中更为常见,但有时可能希望资源以其原始格式作为单独的文件提供。例如,需要从文件系统访问视频文件,而不是用作 MovieTexture 在 iOS 上播放该视频。将一个文件放在名为 StreamingAssets 的文件夹中,这样就会将其按原样复制到目标计算机,然后就能从特定文件夹中访问该文件。

要说到StreamingAssets,其实和Resources还是蛮像的。同样作为一个只读的Unity3D的保留文件夹出现。不过两者也有很大的区别,那就是Resources文件夹中的内容在打包时会被压缩和加密。而StreamingAsset文件夹中的内容则会原封不动的打入包中,因此StreamingAssets主要用来存放一些二进制文件。下面也同样做一个简单的总结:

  • 只读不可写。
  • 主要用来存放二进制文件。
  • Android平台下一般是通过过WWW类来读取。

保存原始文件格式的文件夹,可以通过普通的IO操作读取存放在这的文件。当游戏发布后,在不同平台,该路径对应的文件存储位置也不一样(如下所示),可以通过Unity提供的Application.streamingAssetsPath访问它对应的路径。当将Unity工程导出为Android Studio工程后,StreamingAssets 文件夹对应的就是Android Studio 工程中的assets文件夹,在Android开发中,这是一个特殊的文件夹路径,如果在Unity程序中访问它,必须使用WWW,而不是普通的IO操作。

  • 只能有一个 StreamingAssets 文件夹,且必须将其放在项目的根目录;直接位于 Assets 文件夹中。将所需的资源文件放在此 StreamingAssets 文件夹内或其中的子文件夹内。如果资源文件位于子文件夹中,请始终在用于引用流媒体资源的路径中包含子文件夹路径。

隐藏的资源


  • 在导入过程中,Unity 完全忽略 Assets 文件夹(或其子文件夹)中的以下文件和文件夹:

  • 以“.”开头的文件和文件夹。
    以“~”结尾的文件和文件夹。
    名为 cvs 的文件和文件夹。
    扩展名为 .tmp 的文件。


Plugins/Android

存放Android工程相关文件,包括.so、.java或配置文件等。

Plugins/IOS

存放ios文件,包括.a或.m、.mm文件等。

各个平台的存放资源路径文件操作IO


PC平台:path = Application.dataPath + "/StreamingAssets";

IOS平台:path = ApplicationdataPath + "/Raw";

Android平台:path = "jar:file://" + Application.dataPath + "!/assets/";

WebGLTemplates:存放网页游戏模板,模板是一个文件夹,文件夹的名称就是模板的名称,其中至少包括一个index.html网页模板文件,放入名称为thumbnail.png的图片可以作为模板图片。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容