- 工程结构
- 地图 Content\Maps\ 具体根据实际情况进行子地图 测试地图区分
- 蓝图 Content\Blueprints\ 具体根据实际情况分类 例如AI、Game、UI等等
- 音效 Content\Audio
- 动画 Content\Animation 具体从模型导入的动画资源
- 具体角色 Content\Character\ 敌人 或者主角 按照Materials Textures Meshes进行分类 创建相应的AnimBlueprint
- 环境相关资源 Content\Environment 环境相关资源 模型 材质等
- 特效 Content\Effects
- UI Content\UI
- 代码规范
- 变量如果不涉及类型 默认是大写开头,涉及到类型的如bVisible 加小写的前缀
- 如果函数参数是引用类型,需要在函数中进行修改尽量写成OutXX
- 模板类前缀为T
- 继承UObject的类前缀为U
- 继承Actor的前缀为A
- 继承SWidget的前缀为S
- 接口类前缀为I
- 枚举类前缀为E
- 除了以上部分前缀为F
- 返回bool类型的函数应该写为IsVisible()这种询问式
- 如果函数不修改参数,那么使用常量指针或者引用就行传递
- 如果函数不修改类对象,那么将函数设置为const函数
- 如果一个迭代循环中不修改容器中的变量 那么使用for(auto& a:array)这种方式进行迭代
- 使用static_assert进行断言
- 为空判断使用nullptr
- 函数参数个数尽量减少,如果过多可以考虑将参数封装为结构体
- 资源规范
通用格式大概是 类型_名称_序号(可无)_后缀
- 蓝图资源 BP_XX
- 骨骼模型 SK_XX
- 静态模型 SM_XX
- 动画资源 可以按照具体功能自由命名
- 蒙太奇动画 AM_XX
- 动画蓝图ABP_XX
- 特效 P_XX
- 音效Sound Cue SC_XX
- 材质 M_XX
- 材质实例 MI_XX
- 材质函数 MF_XX
- 贴图 T_XX
- Sprite SP_XX
- RenderTarget RT_XX
- 物理材质 PM_XX
后缀
- 法线贴图 XX_N XX_Normal
- 漫反射 XX_D XX_Diffuse
- 蒙版贴图 XX_M
- 自发光贴图 XX_E
- 粗糙度贴图 XX_R