UE4 项目工程规范
主要参考这篇文章:github参考
讨论了UE4项目的规范,主要内容包括:资源,项目文件夹,变量,函数,编程习惯,以下对这篇文章针对我自己进行了简单的总结。
1. 资源
1.1 基本命名规则
Prefix_BaseAssetName_Variant_Suffix
类型_资源名_扩展名(数字的话要用两位,如01)_子类型
范例:
Bob
资源类型 | 资源名 |
---|---|
SkeletalMesh | Sk_Bob |
Material | M_Bob |
Texture(Diffuse/Albedo) | T_Bob_D |
Texture(Evil Diffuse) | T_Bob_Evil_D |
Rocks
资源类型 | 资源名 |
---|---|
Static Mesh (01) | S_Rock_01 |
Static Mesh (02) | S_Rock_02 |
Static Mesh (03) | S_Rock_03 |
Material | M_Rock |
Material Instance (Snow) | MI_Rock_Snow |
1.2 资源类型表
通常资源的前缀为两个字母缩写,带 Blueprint 的会将 Blueprint 缩写为 BP,如 Blueprint Widget 为 BPW_。下面只给出我觉得需要注意的,不按套路出牌的,其它请查看github参考。
资源类型 | 前缀 | 后缀 | 备注 |
---|---|---|---|
Static Mesh | S_ or SM_ | 建议用S_ | |
WidgetBlueprint | WBP_ or WB_ | 建议用WBP_ | |
Animaiton Blueprint | ABP_ | ||
Animation Sequence | A_ or AS_ | 建议用A_ | |
Rig | Rig_ | ||
Skeleton_ | SKEL_ | ||
AI Controller | AIC_ | ||
Blackboard | BB_ | ||
Decorator | BTDecorator_ | ||
Blueprint Function Library | BPFL | ||
Blueprint Macro Library | BPML | ||
Blueprint Interface | BPI_ | ||
Enumeratoin | E | ||
Structure | F or S | ||
Material (Post Process) | PP_ | ||
Font | Font_ |
2. 目录结构
2.1 命名规则
1、使用PascalCase规范
2、不带空格,不使用中文,尽量只用英文,使用最安全的命名方法,尽管如此,我曾经也因为路径名太长导致资源出错的。
2.2 使用顶级目录,与工程名同名。
建议如如下目录结构:
- content
- project
- AI
- Animations
- Characters
- Environment
- Gameplay
- Players
- Sound
- UI
- Weapons
- Vehicles
- project
2.3 不使用Assets, Meshes, Textures or Materials这样的目录。
不要用资源类别分类,而使用逻辑类别分类。
3. 蓝图&C++
3.1 编译
1、保证全部蓝图编译时0警告和错误。
2、不要提交断开的蓝图。
3.2 变量
1、bool变量使用描述性的单词,bDead,不要用bIsDead。
2、数组命名,使用类似于Targets的(复数形式),不要用TargetList。
3、变量很少,不用分类,变量5-10以上,需要分类。
3.3 函数
1、动词
2、bool是询问函数
4、蓝图节点数应该小于50个
5、让白线对齐
3.3 编程习惯
这个需要自己慢慢使用总结了,每个人都应该总结自己的编程习惯,注意要遵循最通用、最正确(最官方)的习惯。
UE4 项目工程规范相关推荐
- Java Web 项目目录规范
一.项目结构 这里和其他项目区别不大,我将模板抽离出来,更容易分析和理解: 解释一下:js主要包括extends(引入第三方的js).module(项目模块自己的js).lib(引用包,这里也可以继续 ...
- UE4智慧城市项目制作规范
UE4智慧城市项目制作规范 说明 协同 规范 说明 UE4.26项目 打包输出Window应用 鼠标操作 键盘快捷键操作 协同 内部开发的可以自己内网搭建svn服务器协同开发,如有外部人员参与项目开发 ...
- 分析vue-cli@2.9.3 搭建的webpack项目工程
前言 已经有很多分析Vue-cli搭建工程的文章,为什么自己还要写一遍呢.学习就好比是座大山,人们沿着不同的路登山,分享着自己看到的风景.你不一定能看到别人看到的风景,体会到别人的心情.只有自己去登山 ...
- node工程默认url_node命令行工具之实现项目工程自动初始化的标准流程
一.目的 传统的前端项目初始流程一般是这样: 可以看出,传统的初始化步骤,花费的时间并不少.而且,人工操作的情况下,总有改漏的情况出现.这个缺点有时很致命. 甚至有马大哈,没有更新项目仓库地址,导致提 ...
- 前端规范 - 前端项目开发规范
0 前言 好好做业务,提高自己的工程能力 [强制] 1 开启eslint 根据团队的习惯,制定适合自己的rules 比如 no-console no-debugger可以关闭 [强制] 2 新项目使用 ...
- 现行公路工程规范(2023)
这是一份现行公路工程规范的规范目录,是正在实施的规范,不在此目录中大概率是过期了,可在报告中对比文件的时效性,具体规范也可咨询. 规范列表如下: JTG A04-2013 公路工程标准编写导则.pdf ...
- UE4 项目优化经验(性能、资源管理、打包等优化)
UE4 优化(性能.资源管理.打包等优化) 一.如何查看性能指标 二.性能优化的方式 优化帧率 优化UE4项目启动速度 优化打包速度和缩小包容量 采用Jenkins进行持续集成交付 删除不用资源 三. ...
- 使用git将本地项目工程推送到码云上
1.在本地使用Intellj IDEA构建项目工程,整个项目工程结构如下图所示: 2.在工程根目录下面,使用git Bash打开git客户端: 3.使用git init初始化项目,此时会在工程根目录下 ...
- VS项目工程管理技巧
本文首发于「视觉项目实战营」:传送门. 我们在管理较大型的项目工程时,有时需要为了便于每次生成的dll以及lib文件能管理起来更加方便,必须要使用点小技巧,此处分享一下我们在开发中使用的一种技巧,供大 ...
最新文章
- 【Python-ML】电影评论数据集文本挖掘
- find -exec 与xargs 区别
- 我用自己创造的深度学习框架进入腾讯,爽!
- 协作安装程序应用一例
- 会议系统m900服务器网口灯,【中兴视频会议多点控制单元ZXV10 M900-64MA 今日特卖】价格,厂家,视讯会议系统-搜了网...
- Go -- 调用C/C++
- mybatis update返回值的意义
- php redis decr_Redis在PHP项目中的实际应用场景
- kafka集群为什么需要三个节点_Kafka突然宕机了?稳住,莫慌!
- vue 基于 exceljs 导出 excel实战示例
- 安装音量控制程序 WINDOWS
- 【渝粤题库】国家开放大学2021春2409中国古代文学(B)(1)题目
- javascript编写奇迹mu原版(含服务端)(5)前端测试可行性
- 我为什么鼓励你读计算机领域的博士?
- ubuntu下的beyond compare破解
- 凝思软件冲刺深交所:年营收不足2亿 拟募资7.9亿
- 数据挖掘:数据清洗——数据噪声处理
- 回应“考研生没核酸报告错过考试”:曾通过4种方式告知
- win10家庭版开机出现引用的账户已锁定,且可能无法登录
- matlab怎么画probit,matlab对于probit模型怎么求统计值(赠probit程序)
热门文章
- win7(64位)下安装ubuntu14.04.4 LTS双系统操作说明
- html完成横纵坐标位置确定,如何使用Matplotlib.plot实现自定义横纵坐标轴标记(自定义标签与间隔放置)...
- 2022年大数据开发实习面经总结,已拿顺丰、哔哩哔哩offer
- linux - User and Group
- 薄饼核心函数swapExactTokensForTokens
- 业内人士对20家N卡品牌的经典点评
- IBM陈国豪谈虚拟化、刀片、云计算及绿色存储
- 创建 mapbox 本地 sprite
- ch340t电路_ch340g电路图5v和3.3v供电电路
- Stratifyd:全民化的人工智能如何助力增强社会责任感