Unity特殊文件夹名称

 Unity 使用的特殊文件夹名称的完整列表

特殊文件夹名称 - Unity 手册 (unity3d.com)

Assets

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

Editor

Editor scripts add functionality to Unity during development, but aren’t available in builds at runtime. Scripts in an Editor folder run as Editor scripts, not runtime scripts.

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

Editor 文件夹的确切位置会影响其脚本相对于其他脚本的编译时间。参阅特殊文件夹和脚本编译顺序上的文档了解完整的描述。

使用 Editor 脚本中的 EditorGUIUtility.Load 函数可从 Editor 文件夹中的 Resources 文件夹加载资源。这些资源只能通过 Editor 脚本加载,并会从构建中剥离。

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

Editor Default Resources

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

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

Gizmos

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

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

Resources

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

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

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

Standard Assets

When you import a Standard Asset package, Unity puts the assets in a folder called Standard Assets. As well as containing the assets, these folders also have an effect on script compilation order. For more information, see the page on Special Folders and Script Compilation Order.

You can only have one Standard Assets folder and you must leave it in the root of the project, directly within the Assets folder. Place the asset files you need inside the <project-root>/Assets/Standard Assets folder or one of its subfolders.

StreamingAssets

尽管将资源直接合并到构建中更为常见(但有时可能希望资源以其原始格式作为单独的文件提供)。例如,您需要使用 Handheld.PlayFullScreenMovie 从文件系统访问一个视频文件,以便在 IOS 上播放。

要包含流媒体资源,请执行以下操作:

  1. 将文件放在 StreamingAssets 文件夹中。
  2. 该文件在复制到目标机器时保持不变,它可以从特定文件夹中获得。

请参阅关于流媒体资源的页面以了解更多详细信息。

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

Android Asset Packs

Unity interprets any folder that ends with .androidpack as an Android asset packs. For more information, see Create a custom asset pack.

Android 库项目

Unity interprets any folder that ends with .androidlib as an Android Library Project. For more information, see Import and Android Library Project.

隐藏的资源

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

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

这可以防止导入由操作系统或其他应用程序创建的特殊文件和临时文件。

<think>我们正在讨论Unity项目中资源文件夹的命名规范。根据Unity最佳实践和社区常见做法,以下是一些广泛采用的资源文件夹命名约定: ### 1. 标准资源文件夹结构 Unity项目通常采用以下核心文件夹结构(注意:这些是特殊文件夹名称Unity特殊处理)[^1]: ``` Assets/ ├── Animations/ # 存放动画文件 ├── Audio/ # 存放音频文件 │ ├── Music/ # 背景音乐 │ └── SFX/ # 音效 ├── Editor/ # 编辑器扩展脚本 ├── Materials/ # 材质球 ├── Models/ # 3D模型文件 ├── Prefabs/ # 预制体 ├── Resources/ # 需通过Resources.Load加载的资源(谨慎使用) ├── Plugins/ # 第三方插件 ├── Scenes/ # 场景文件 ├── Scripts/ # 游戏脚本 │ ├── Core/ # 核心系统脚本 │ ├── UI/ # 用户界面脚本 │ └── ... ├── Shaders/ # 着色器文件 ├── StreamingAssets/ # 流式资源(可通过路径直接访问) ├── Textures/ # 纹理贴图 └── UI/ # UI资源(精灵图、字体等) ``` ### 2. 命名规范原则 - **小写字母+下划线**:避免使用大写字母和空格(例如 `character_models` 而非 `Character Models`) - **语义明确**:名称应清晰描述内容(如 `environment_rocks` 而非 `stuff`) - **前缀分类**:对同类资源使用统一前缀(如 `mat_grass`, `tex_ground`) - **版本控制友好**:避免使用特殊字符(如 `#`,`&`,`空格`) ### 3. 常用子文件夹命名示例 | 资源类型 | 推荐命名模式 | 示例 | |----------------|----------------------|--------------------------| | 材质 | `materials/` 或 `mat_`前缀 | `materials/characters` | | 纹理贴图 | `textures/` 或 `tex_`前缀 | `textures/ui_icons` | | 预制体 | `prefabs/` + 功能分类 | `prefabs/weapons` | | 场景 | `scenes/` + 关卡名 | `scenes/level_1` | | 脚本 | `scripts/` + 系统模块 | `scripts/player` | | 动画控制器 | `animators/` | `animators/enemies` | | 动画片段 | `animations/` | `animations/main_hero` | ### 4. 特殊文件夹注意事项 - **Editor文件夹**:必须命名为`Editor`,用于存放编辑器扩展脚本[^1] - **Resources文件夹**:谨慎使用,会导致资源打包进安装包 - **Gizmos文件夹**:必须命名为`Gizmos`,用于存放场景视图图标 - **StreamingAssets**:必须精确命名,用于存放需要保持原始格式的资源 ### 5. 大型项目进阶规范 对于团队协作项目,建议采用: ```markdown Assets/ └── ProjectName/ # 项目名称前缀 ├── _Core/ # 核心框架(不可修改) ├── Art/ # 美术资源 │ ├── Characters/ # 角色相关 │ └── Environment/ # 环境资源 ├── Code/ # 代码 │ ├── Gameplay/ # 游戏逻辑 │ └── Systems/ # 系统模块 └── ThirdParty/ # 第三方插件 ``` ### 6. Unity官方推荐规范 根据Unity技术文档[^1]: > "保持文件夹结构扁平化,避免过度嵌套。建议按资源类型而非功能划分一级目录,按功能划分二级目录" 例如: ``` Textures/ ├── UI │ ├── Icons │ └── Backgrounds └── Environment ├── Terrain └── Vegetation ``` ### 7. 避免的常见错误 1. **空格命名**:`My Folder` ❌ → `my_folder` ✅ 2. **中文路径**:`资源/角色` ❌ → `assets/characters` ✅ 3. **特殊字符**:`Weapons&Tools` ❌ → `weapons_and_tools` ✅ 4. **过长名称**:`this_is_a_very_long_folder_name_that_should_be_avoided` ❌ ### 最佳实践示例 ```csharp // 在代码中加载资源时体现命名规范优势 // 清晰路径 vs 混乱路径 Texture2D icon = Resources.Load<Texture2D>("ui/icons/health_bar"); // 规范 Texture2D icon2 = Resources.Load<Texture2D>("UI/ItemIcons/Bar/health"); // 不规范 ``` 遵循这些规范可以显著提升: - 团队协作效率(减少路径冲突) - 资源加载性能(快速定位) - 项目可维护性(直观的层次结构) §§相关问题§§ 1. Unity特殊文件夹(如Editor、Resources)有哪些使用限制? 2. 如何优化Unity项目的资源加载性能? 3. Unity项目如何组织大型团队的协作目录结构? 4. Unity资源依赖管理的最佳实践是什么?</think># Unity项目资源文件夹命名规范指南 在Unity项目中,合理的资源文件夹命名规范对于团队协作和项目维护至关重要。以下是Unity社区和官方推荐的资源文件夹命名约定: ## 核心命名原则 1. **小写字母+下划线**:使用全小写字母,单词间用下划线连接(如 `character_models`) 2. **语义明确**:名称应清晰描述内容(如 `environment_rocks` 而非 `stuff`) 3. **前缀分类**:对同类资源使用统一前缀(如 `mat_grass`, `tex_ground`) 4. **避免特殊字符**:不要使用空格、中文或特殊符号(`#`,`&`等) ## 标准文件夹结构 ```markdown Assets/ ├── Animations/ # 动画文件 ├── Audio/ # 音频资源 │ ├── Music/ # 背景音乐 │ └── SFX/ # 音效 ├── Materials/ # 材质球 ├── Models/ # 3D模型 ├── Prefabs/ # 预制体 │ ├── Characters/ # 角色预制体 │ └── UI/ # UI预制体 ├── Resources/ # Resources加载资源(谨慎使用) ├── Scenes/ # 场景文件 │ ├── Levels/ # 游戏关卡 │ └── UI/ # UI场景 ├── Scripts/ # 游戏脚本 │ ├── Core/ # 核心系统 │ ├── Gameplay/ # 游戏逻辑 │ └── UI/ # 用户界面 ├── Shaders/ # 着色器文件 ├── Textures/ # 纹理贴图 │ ├── Characters/ # 角色纹理 │ └── Environment/ # 环境纹理 └── UI/ # UI资源 ├── Fonts/ # 字体文件 └── Sprites/ # 精灵图 ``` ## 特殊文件夹命名规范 1. **Editor文件夹**:必须命名为`Editor`,用于存放编辑器扩展脚本[^1] 2. **Resources文件夹**:谨慎使用,会导致资源打包进安装包 3. **Plugins文件夹**:存放第三方插件 4. **StreamingAssets**:流式资源(可通过路径直接访问) 5. **Gizmos文件夹**:存放场景视图图标 ## 文件命名最佳实践 | 资源类型 | 推荐命名格式 | 示例 | |----------------|----------------------|--------------------------| | 材质 | `mat_描述` | `mat_grass_wet` | | 纹理贴图 | `tex_描述_分辨率` | `tex_character_1024x1024`| | 预制体 | `pf_描述` | `pf_player_character` | | 场景文件 | `scene_描述` | `scene_level1_cave` | | 脚本文件 | `描述System`/`描述Manager` | `InventorySystem.cs` | | 动画控制器 | `ac_描述` | `ac_player_movement` | ## Unity官方建议 根据Unity Package Manager的命名规范[^1]: - 使用反向域名表示法(如 `com.company.project`) - 只包含小写字母、数字、连字符和下划线 - 长度不超过50个字符(编辑器显示名称) - 使用句点表示嵌套命名空间(如 `environment.vegetation.trees`) ## 团队协作规范 1. **建立命名文档**:团队共享命名约定文档 2. **前缀标识**:`temp_`前缀标识临时资源 3. **版本控制**:`v1`,`v2`后缀标识资源版本 4. **审核机制**:定期检查资源命名一致性 ```csharp // 在代码中加载资源时体现命名规范优势 // 清晰路径 vs 混乱路径 Texture2D icon = Resources.Load<Texture2D>("ui/icons/health_bar"); // 规范 Texture2D icon2 = Resources.Load<Texture2D>("UI/ItemIcons/Bar/health"); // 不规范 ``` ## 应避免的命名方式 1. 空格命名:`My Folder` ❌ → `my_folder` ✅ 2. 大写字母混合:`CharacterModels` ❌ → `character_models` ✅ 3. 模糊名称:`Assets1` ❌ → `environment_rocks` ✅ 4. 过长名称:`this_is_a_very_long_folder_name_that_should_be_avoided` ❌ 遵循这些规范可以显著提升: - 团队协作效率(减少路径冲突) - 资源加载性能(快速定位) - 项目可维护性(直观的层次结构)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值