项目目录管理规范¶
备注
最后更新: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团队
- 主要贡献者 (按姓氏拼音排序):
邱文涛
- 特别鸣谢:
所有走在前列、为后辈探路的游戏开发行业的师兄师姐们。