1.4虚幻规范
官方文档:Epic的虚幻引擎 C++ 代码规范 |虚幻引擎 5.4 文档 |Epic 开发者社区 (epicgames.com)
1.4.1代码规范
1.4.1.1命名规范
- 所有代码和注释都应采用美式标准英语的拼写和语法。
- 命名(如类型或变量)中的每个单词需大写首字母,单词间通常无下划线。
- 类型名前缀需使用额外的大写字母,用于区分其和变量命名。例如:FSkin 为类型名,而 Skin 则是 FSkin 的实例。
- 模板类的前缀为T。
- 继承自 UObject 的类前缀为U。
- 继承自 AActor 的类前缀为A。
- 继承自 SWidget 的类前缀为S。
- 抽象界面类的前缀为I。
- Epic提供的概念类型的类(用作 TModels 的第一个参数),其前缀C。
- 枚举的前缀为E。
- 布尔变量必须以b为前缀(例如 bPendingDestruction 或 bHasFadedIn)。
- 其他多数类均以F为前缀,而部分子系统则以其他字母为前缀。
- Typedefs应以任何与其类型相符的字母为前缀:若为结构体的Typedefs,则使用F;若为 Uobject 的Typedefs,则使用U,以此类推。
- 特别模板实例化的Typedef不再是模板,并应加上相应前缀,
总结:代码规范提高可读性,提高团队理解代码效率。
注意:由Epic提供用于分配的源文件(.h、. cpp、. xaml、etc.)必须在文件的首行包含版权声明。 版权声明的格式必须严格按照以下形式编写:// Copyright Epic Games, Inc. All Rights Reserved.
1.4.1.2资产命名规范
官方文档:虚幻引擎项目中推荐的资产命名规范。 | 虚幻引擎 5.4 文档 | Epic Developer Community (epicgames.com)
此处给出常见资产命名,仅供参考
资产 | 前缀 |
通用 | / |
关卡 | L_ |
HDRI | HDR_ |
材质 | M_ |
材质实例 | MI_ |
物理资产 | PHYS_ |
物理材质 | PM_ |
后期处理材质 | PPM_ |
骨骼网格体 | SK_ |
静态网格体 | SM_ |
纹理 | T_ |
OCIO配置文件 | OCIO_ |
蓝图 | / |
Actor组件 | AC_ |
动画蓝图 | ABP_ |
蓝图接口 | BI_ |
曲线表 | CT_ |
数据表 | DT_ |
枚举 | E_ |
结构 | F_ |
控件蓝图 | WBP_ |
粒子效果 | / |
Niagara发射器 | FXE_ |
Niagara系统 | FXS_ |
Niagara函数 | FXF_ |
骨骼网格体动画 | / |
绑定 | Rig_ |
骨架 | SKEL_ |
AM_ | |
动画序列 | AS_ |
混合空间 | BS_ |
ICVFX | / |
NDisplay配置 | NDC_ |
动画 | / |
关卡序列 | LS_ |
Sequencer编辑 | EDIT_ |
媒体 | / |
媒体源 | MS_ |
媒体输出 | MO_ |
媒体播放器 | MP_ |
媒体配置文件 | MPR_ |
其他 | / |
关卡快照 | SNAP_ |
远程控制预设 | RCP_ |
以Lyra初学者示例项目为示例: