项目目录管理规范

备注

最后更新:2025年9月13日

1. 原则

1.1. 按功能/模块聚合

我们不按资产的物理类型(如 /Models, /Textures)来组织文件夹,而是按照其在游戏中的逻辑(如 /Goblin, /MainMenu)来组织。

1.2. 源文件与交付资产分离

交付资产: 导入到游戏引擎中、可直接使用的文件(如 .png, .fbx)。必须存放在本项目的 Assets/ 目录下。

源文件 (Source Files): 制作过程中的工程文件(如 .psd, .blend)。必须存放在项目外部的目录中,以保证项目的纯净与轻量。

2. 目录规范

所有资产尽可能存放在以下预定义的顶层文件夹中:

Assets/
├── Art/         # 美术交付资产的唯一入口
├── Audio/       # 音频资产
└── ThirdParty/  # 第三方资源包,需要保证其完整性,需要用到其中的资源时,应该复制该资源到Art等文件夹中

目录的逻辑名称没有具体讲究,按照习惯与一般约定取名即可,或者参考《资产命名》。

Art/
├── Characters/
│   # 存放所有角色、敌人、NPC等骨骼动画生物
│   │
│   ├── Player/      # 玩家角色模块
│   └── Enemies/     # 敌人模块
│       ├── Goblin/  # 哥布林模块
│       └── Slime/   # 史莱姆模块
├── Environments/
│   # 存放所有构成游戏世界的静态环境资产
│   │
│   ├── Architecture/  # 建筑类资产
│   └── Props/         # 可复用的小物件
├── UI/
│   # 存放所有用户界面(UI)相关资产
│   # 程序使用的UI技术不同,此处组织逻辑也不同,具体需要与程序商量
│   │
│   └── Raw/  # 没有经过程序处理的生资源
├── VFX/
│   # 存放所有视觉特效(VFX)资产
│   │
│   ├── Combat/      # 战斗相关
│   └── Environment/ # 环境相关

每个功能模块文件夹(如 Player/, Goblin/)内部都遵循 扁平化 管理。由于资产命名足够清晰,所以无需在模块内再创建 /Models, /Textures 等子文件夹。

示例:Art/Characters/Enemies/Goblin/ 文件夹内容

Goblin/
├── skm_goblin_body_01b.fbx
├── mat_goblin_body_02a.mat
├── tex_goblin_body_03d_alb.png
├── tex_goblin_body_04c_nrm.png
├── tex_goblin_body_05f_rou.png
└── pre_goblin_body_06e.prefab
作者:

Refactor团队

主要贡献者 (按姓氏拼音排序):
  • 邱文涛

特别鸣谢:

所有走在前列、为后辈探路的游戏开发行业的师兄师姐们。