0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Unity中所有特殊的文件夹

电子设计 来源:电子设计 作者:电子设计 2022-02-12 16:10 次阅读

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.htmlIf 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.html
http://docs.unity3d.com/Documentation/ScriptReference/Application-stream...。

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

11. Resources文件夹

Resources文件夹是一个只读的文件夹,通过Resources.Load()来读取对象。因为这个文件夹下的所有资源都可以运行时来加载,所以Resources文件夹下的所有东西都会被无条件的打到发布包中。建议这个文件夹下只放Prefab或者一些Object对象,因为Prefab会自动过滤掉对象上不需要的资源。举个例子我把模型文件还有贴图文件都放在了Resources文件夹下,但是我有两张贴图是没有在模型上用的,那么此时这两张没用的贴图也会被打包到发布包中。假如这里我用Prefab,那么Prefab会自动过滤到这两张不被用的贴图,这样发布包就会小一些了。

12. StreamingAssets

StreamingAssets文件夹也是一个只读的文件夹,但是它和Resources有点区别,Resources文件夹下的资源会进行一次压缩,而且也会加密,不使用点特殊办法是拿不到原始资源的。但是StreamingAssets文件夹就不一样了,它下面的所有资源不会被加密,然后是原封不动的打包到发布包中,这样很容易就拿到里面的文件。所以StreamingAssets适合放一些二进制文件,而Resources更适合放一些GameObject和Object文件。StreamingAssets 只能用过www类来读取!!

13. 最后凡是在Hierarchy视图对象引用过的资源文件也会被无条件打包到发布包中。

如果有一部分文件可能没有在Resources文件夹下也没有在StreamingAssets文件夹下,也没有被Hierarchy视图游戏对象引用,那么这类资源是不会被打包到发布包中的。在处理不同包对应不同资源包的时候,尽量让可配置的资源放在Resources 或StreamingAssets文件夹下,运行的时候程序动态的来读取它们,最后显示在游戏中就可以了。在批量打包前,在Project视图下创建不同包的资源文件夹, 然后脚本 AssetDatabase 动态的将资源拷贝至Resources或StreamingAssets 文件夹中


审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Unity
    +关注

    关注

    1

    文章

    127

    浏览量

    21828
收藏 人收藏

    评论

    相关推荐

    AD软件打开DigIPCBA工作区,希望可以按照文件夹检索

    希望在AD软件中打开工作区的时候,工作区内的文件夹能显示,文件可以按照文件夹检索,如果工作区内PCB项目很多,不能区分文件夹,不方便访问
    发表于 11-01 11:15

    服务器数据恢复—raid5阵列上层文件夹丢失的数据恢复案例

    服务器存储数据恢复环境: DroboPro FS网络存储,共8块SAS硬盘,组建了一组raid5磁盘阵列。 服务器存储故障: 存储中有一个共享文件夹丢失,该文件夹存放了重要数据。
    的头像 发表于 06-21 10:10 265次阅读
    服务器数据恢复—raid5阵列上层<b class='flag-5'>文件夹</b>丢失的数据恢复案例

    编译components文件夹内容引入的头文件不对怎么处理?

    最近在移植LVGL,需要自己写RGB驱动 我把LVGL放在components文件夹中,但编译的时候提示缺少esp_lcd下头文件的引用 仔细找了一下发现,编译components内容的时候只引入
    发表于 06-17 07:35

    引用外部文件夹中的头文件时,如何让VSCODE不提示波浪线错误?

    各位好: 我将常用的组件放在项目文件夹以外的某个地方,尝试在项目内引用此文件夹下的组件,失败,在代码中无法include相关头文件。我在main组件中也添加了requires,任然失败。 另外,在VSCODE中,当我引用外部
    发表于 06-07 08:19

    Cubemax设置什么会生成Core文件夹

    Cubemax设置什么会生成Core文件夹?有的直接是子文件夹,没有Core
    发表于 05-31 07:45

    Linux系统中共享文件找不到怎么办

      1.首先输下面命令查看是否真的设置成功共享文件夹 vmware-hgfsclient 如果确实已经设置过共享文件夹将输出window下共享文件夹名字 2.确认自己已设置共享文件夹
    的头像 发表于 05-11 08:49 818次阅读
    Linux系统中共享<b class='flag-5'>文件</b>找不到怎么办

    stm32f407 fatfs文件系统,f_mkdir创建文件夹耗时长是什么原因导致的?

    stm32f407挂载fatfs文件系统,用于保存数据,存储媒介SD卡、使用SDIO驱动模式。想在较短的时间内完成:根目录、子目录等创建操作,子目录文件夹是以创建时间命名的。现在遇到的问题是:创建
    发表于 05-09 06:57

    飞凌嵌入式ElfBoard ELF 1板卡-ubuntu创建共享文件夹

    ELF1、ELF1S开发板_软件教程_V1》“2.1.4.3 VMware Tools 安装”小节安装VMware Tools。1.首先在Windows下创建共享文件夹,这里我命名为ELF1-share
    发表于 04-18 11:14

    Linux系统共享文件缺失的解决策略

    如果确实已经设置过共享文件夹将输出window下共享文件夹名字
    的头像 发表于 04-15 10:25 971次阅读
    Linux系统共享<b class='flag-5'>文件</b>缺失的解决策略

    Browser Company推出Arc浏览器实时文件夹功能,兼容Git

    当用户发布PR时,Arc浏览器可自动识别这一情况,并在侧边栏创建一个名为“Pull Requests”的GitHub实时文件夹。该文件夹将持续自动更新,展示用户所创建、分配、审查及提及的所有PR信息。
    的头像 发表于 04-12 15:37 583次阅读

    【操作指引】铁威马NAS加密文件夹创建和使用教程

    共享文件夹是一个网络存储空间。您可以建立数个共享文件夹来存放不同类别的数据,或提供给不同的用户或用户群组来存取文件。   一旦加密共享文件夹被创建后,只有管理员将该共享
    的头像 发表于 04-02 14:17 912次阅读
    【操作指引】铁威马NAS加密<b class='flag-5'>文件夹</b>创建和使用教程

    STM32CubeIDE打开STM32工程左侧文件夹有显示错误(叉号),但是里面的文件没有报错,为什么?

    STM32CubeIDE打开STM32工程左侧文件夹有显示错误(叉号),但是里面的文件没有报错
    发表于 03-28 08:52

    荣小菜补钙记第61期_LabVIEW之递归文件文件夹

    荣小菜补钙记第61期_LabVIEW之递归文件文件夹 同步更新于 WeChat:荣小菜在补钙 大家好,我是荣小菜,本期主要讲解如何使用LabVIEW编程实现查询目标文件夹中的全部文件
    发表于 02-16 21:36

    关键字搜索文件夹中某个TXT文件

    文件夹中随时创造TXT文件,如何及时选出刚创造的文件?或关键字搜索出需要的TXT文件
    发表于 02-06 15:22

    如何在IFX ConfigWizard中更改文件夹/文件夹结构?

    我们在使用 Tle989x 的项目中使用配置向导。 问题是,该工具似乎期望使用硬编码的文件夹结构,这与我们构建 git 存储库的方式不兼容。 我们尝试手动对其进行更改,但我们没有尝试强制/猜测
    发表于 01-22 06:26