2023 年 UE4 技术回顾

← 返回简历首页

Lisp 2023 年 SVN 提交 UE4 技术回顾

1. 总览

  • 统计范围:2023-01-012023-12-31
  • SVN 作者:lisp
  • 使用仓库:https://home9/svn/ProjectWar/ProjectWar
  • 提交次数:396
  • 版本区间:r20r41626
  • 提交高峰:2023-03 (78 次)2023-04 (69 次)2023-05 (53 次)2023-06 (50 次)2023-02 (49 次)2023-12 (43 次)

20242025 相比,你在 2023 年的工作主线非常集中,几乎可以直接概括成一句话:

你在 2023 年主要是在做“载具系统底层逻辑、资源载具玩法、非物理载具表现、以及年底载具强化系统原型”的完整铺垫。

从路径分布看也很明显:

  • Source 改动量最大,说明这一年核心是 C++ 逻辑开发
  • Content/Root 也有很高占比,说明你同时在改蓝图、资源、表格和 UI
  • Binaries 提交很多,反映出你在高频迭代和持续验证

2. 2023 年的主要技术主线

2.1 载具死亡、殉爆、残骸、炮塔与破坏状态

你在 2023 年最早的一批提交,几乎都围绕载具死亡和殉爆问题展开:

  • 坦克殉爆后炮塔炸飞又复原
  • 载具死亡后重新登录残骸显示抖动
  • 载具下线重新登录后死亡爆炸 GE 再次触发
  • 载具死亡参数设置修改
  • 载具死亡 GE / GC 特效不播放或不消失
  • 载具殉爆标志需要通知客户端
  • 炮塔不会炸飞、炮塔物理资源异常、炮塔和车体角度固定
  • 残骸被命中后特效不播放
  • 载具 mesh 关闭物理模拟后仍然 AddForce 的引擎警告

这说明你在项目很早期就已经深入碰到了 UE 里很典型、也很难处理的一类问题:

  • 载具死亡状态机
  • 服务端 / 客户端死亡表现同步
  • 残骸和活体之间的切换
  • GameplayEffect / GameplayCue 与死亡表现的绑定
  • 物理、动画、特效、资源状态切换的一致性

代表 revision:

  • r20 坦克殉爆炮塔炸飞后又重新复原
  • r71-r226 载具死亡、重新登录、爆炸 GE 重触发
  • r2440-r2463 死亡 GE、残骸命中特效
  • r3258-r3615 殉爆特效、死亡 mesh、重新登录表现错误
  • r4186-r4660 M24 炮塔炸飞、炮塔物理资源、客户端殉爆同步
  • r11520-r12219 殉爆特效音效 / GC 不播放或不消失

这条线可以看作你后面几年“载具线”的最早基础。

2.2 上下车流程、座位系统、角色绑定与第三人称显示

2023-022023-06 另一条非常重的主线,是载具上下车和座位系统。

你反复修改的内容包括:

  • 上车流程优化、精简、重构
  • 删除无用 RPC
  • SetPassenger 隐藏 bug 与 ensure
  • 第三人称机枪位绑定点异常
  • 炮塔旋转时 UI 不同步
  • 上载具隐藏第三人称 mesh
  • 主角上机枪位角色位置异常
  • 换座位误走上车逻辑
  • 上车 / 下车 UI 图标显示异常
  • 上载具后武器装填、换弹、动作偏移问题
  • 上下载具后瞄准 / 开镜 / 呼吸条异常
  • 载具驾驶状态恢复导致玩家卡在车里
  • 玩家上线恢复驾驶数据导致载具背包显示为空

这反映出你在处理一整条复杂联机链路:

  • 玩家与载具的 possess / attach / seat data
  • 角色 mesh 显示隐藏策略
  • 座位切换与武器切换联动
  • 重新登录 / 存档恢复 / 客户端恢复后的状态一致性

代表 revision:

  • r694-r889 上车流程优化、删除多余逻辑、重构
  • r940-r943 机枪位绑定和炮塔 UI
  • r2053-r2109 登录后角色隐藏和图纸属性
  • r4794-r5669 驾驶状态恢复、卡车里、背包显示问题
  • r14597-r15290 换座位、主副驾、装填动画、UI 异常

说明你在 2023 年已经在修非常核心的联机载具交互问题。

2.3 载具权限、归属、回收、背包、存档恢复

2023-032023-06,你大量在改“载具是否属于谁、能不能回收、回收到背包后如何存储、释放后如何恢复”的逻辑。

典型问题包括:

  • 载具支持配置是否拥有者
  • 载具权限判定修改
  • 场景刷出来的载具是否允许回收
  • 设置载具是否存档
  • 收背包后耐久值不同步
  • 载具券初始耐久 / 最大耐久直接使用载具 HP/MaxHP
  • 载具回收前风化 GE 数据处理
  • 载具券数据恢复有效性验证
  • 座位武器、快捷栏、弹药数据存储与恢复
  • 载具残骸背包打开权限
  • 打开背包权限和其它权限分离
  • 回收后再释放出来武器没 reload
  • 载具尸体能被攻击

这一整条线非常像“物品化载具”的底层实现,也就是:

  • 载具既是场景 Actor
  • 又要能回收到物品 / 载具券
  • 还要保留耐久、武器、弹药、座位等状态

这类逻辑是非常难做的,因为它天然涉及:

  • 存档
  • 背包
  • 权限
  • 状态同步
  • Actor 生命周期切换

代表 revision:

  • r2700-r2777 归属和权限配置
  • r3135 收背包后耐久同步修复
  • r3909 设置载具是否存档
  • r6361-r6367 载具券耐久来源修改
  • r10020-r10357 存档恢复、属性集初始化、武器 mesh 初始化
  • r13010-r15100 座位武器 / 快捷栏 / 弹药存储恢复重构
  • r16760-r16790 残骸背包打开权限与背包权限分离

2.4 载具撞击伤害、护甲、伤害数值与战斗交互

2023 年你还反复在做载具和战斗系统之间的联动:

  • 载具攻防值获取修改
  • 撞击 NPC 产生伤害
  • 撞击 NPC 减速
  • 撞击 NPC 音效特效
  • 撞击伤害冷却和向上取整
  • 撞击 0 伤害 bug
  • 直升机 / 装甲车 / 武器对不同目标伤害异常
  • 载具护甲计算修改

这说明你不仅仅是在做“载具能开”,还在做“载具如何参与战斗结算”。

这类问题背后通常涉及:

  • 伤害数据结构
  • 攻防值读取来源
  • 载具部位与武器子系统
  • NPC 与玩家的受击逻辑
  • 音效 / 特效 / 减速反馈

代表 revision:

  • r320 攻防值获取修改
  • r1168-r1768 撞击伤害、减速、特效、冷却、0 伤害修复
  • r5415 武直 9 被 T80 炮 / RPG 打不掉血
  • r15781 撞击 NPC 伤害处理
  • r17408 护甲计算修改

2.5 图纸、T80 配置、载具生成与调试 / GM 工具

2023-02 开始,你就已经在做载具图纸和配套调试工具:

  • 载具图纸相关修改
  • T80 图纸全套
  • 新增 T80 图纸配置
  • 图纸制造的随机伤害倍率属性生效
  • 图纸上的伤害倍率 / 采集倍率显示
  • 快速 GM 命令
  • DebugPanel 修改

这说明你当时已经不只是改运行时逻辑,而是在把“载具玩法入口”做成一套可运营、可测试、可调试的内容链路:

  • 图纸
  • 数据表
  • UI
  • GM
  • 调试选项

代表 revision:

  • r1856-r1925 图纸与 T80 配置
  • r1889 GM 面板新增 T80 图纸
  • r2109 图纸制造的随机伤害倍率
  • r2222 载具调试选项整理
  • r4261-r4292 快速 GM 命令
  • r11271-r11277 DebugPanel 修改

2.6 资源载具:伐木、收割、采矿、刀头、采集框、耐久与表现

2023-04 开始,一条非常清晰的新主线出现了,就是“资源载具”。

你做过的事情包括:

  • 载具装备支持伐木、收割、采矿
  • 采集检测框使用资源装备边界框
  • 删除独立资源框组件
  • 资源装备伤害处理
  • 资源装备损毁与采集触发框独立配置
  • 资源载具对 NPC 和玩家造成伤害
  • 配置碰撞到产出物的音效特效
  • 刀头 Socket 未生效问题
  • 伐木刀头特效方向优化
  • 资源装备造成伤害时也会消耗耐久
  • 区分静态 mesh 和骨骼 mesh 的装备
  • 资源载具券创建后火特效错误
  • 资源载具刀头耐久耗尽后损毁不爆炸消失

这说明你在 2023 年其实已经做了“功能型载具”的玩法化扩展,而不只是传统地面载具或战斗载具。

换句话说,你在这一年已经开始把载具变成一种通用玩法平台:

  • 能移动
  • 能交互
  • 能采集
  • 能对 NPC / 玩家造成影响
  • 能带装备、带耐久、带效果

代表 revision:

  • r6098-r6165 载具装备(伐木、收割、采矿)
  • r6565-r6771 采集检测框、资源装备伤害处理
  • r6735-r7079 装备损毁、触发框、存档恢复
  • r7478-r8451 拖拉机、动画、前灯光、刀头特效方向
  • r7854-r8063 资源载具对 NPC/玩家伤害与产出物表现
  • r8972 伤害 NPC / 玩家时耐久同样消耗
  • r14296-r14422 区分静态 mesh 与骨骼 mesh
  • r23892 刀头损毁不爆炸消失修复

2.7 水体、入水、灯光、风化、音频与环境表现

2023 年你也持续在做很多“载具环境适配”:

  • 载具水中调试信息
  • 新水体适配
  • 飞机在水里不熄火
  • 载具低油量提示
  • 载具灯光开启条件、熄火后灯光不灭
  • WheelStep 音频配置
  • 风化耐久更新频率
  • 回收前风化 GE 数据处理

这说明你已经开始覆盖载具在大世界中的完整生态行为,而不只是“会开 / 会打”。

代表 revision:

  • r6469-r6484 载具水中调试信息
  • r11684 新水体适配
  • r13747 飞机入水、呼吸条异常
  • r15422 飞机在水里不熄火
  • r15611 灯光开启条件限制
  • r17138-r17142 熄火后灯光不灭
  • r14684-r14696 Ak_WheelStep 事件配置

2.8 非物理载具:贴地移动、履带、轮子、动画蓝图、打包同步

2023-07 是这一年的一个非常特殊的阶段,你开始集中推进“非物理载具”路线:

  • 非物理载具贴地移动
  • 非物理载具履带转动、履带轮转动
  • 非物理轮式载具前轮表现
  • 原地旋转表现逻辑
  • 贴地 Socket 点配置优化
  • 非物理载具动画蓝图适配(T80Car_01PGZ09ZSU-234M6M1A2
  • 打包环境下非物理载具乱飞,原因是 UsePhysics 没同步到客户端
  • 非编辑器模式下炮塔不能旋转

这条线非常有价值,因为它说明你不只是“调参数”,而是在探索另一种载具实现路线:

  • 不是纯物理驱动
  • 而是表现驱动 / 动画驱动 / 贴地逻辑驱动

这类开发很考验:

  • 动画蓝图
  • 地面检测 / 贴地逻辑
  • 客户端与服务端同步
  • 打包后与编辑器内行为差异

代表 revision:

  • r20311-r22041 非物理载具贴地移动、履带、轮式、炮塔、动画蓝图
  • r21171 修复非物理载具抖动
  • r23508-r23515 打包场景下乱飞 bug 处理

可以说,这一段已经非常接近后面你做 3D 拼装载具系统时所需要的“表现驱动载具基础”。

2.9 年底的载具强化系统:原型立项与第一轮落地

2023-112023-12 的重点非常明确,就是“载具强化系统”。

从提交命名看,这套系统是从未完成状态一路迭代到“初步可测试版本”,然后继续做表格、属性、UI、规则和 Bug 修复:

  • 载具强化系统 1-15
  • 初步可测试版本
  • 强化属性、锻造属性
  • 表格修改 / 新增表格 / 删除表格
  • 经验表格和相关逻辑
  • 强化次数上限
  • 属性值计算、属性条目逻辑
  • 锻造规则修改
  • 创建支持拖拽
  • 折算重量表
  • 右键安装部件
  • 部件格子支持选中
  • 部件子类型缺失
  • 部件品质显示、必须安装部件显示
  • 最大速度系数
  • 左右轮耐久合并、耐久属性保存
  • 新改版:部件信息五维数据、载具创建 UI 全面修改

这说明到 2023 年底时,你已经开始从“载具运行时逻辑”转向“载具玩法系统化”:

  • 部件
  • 强化
  • 锻造
  • 经验
  • 品质
  • 表格
  • 创建 UI
  • 部件安装与拖拽

也就是说,2024 的载具强化系统、2025 的载具拼装系统,在 2023 年底其实已经开始打底了。

代表 revision:

  • r38074-r39311 载具强化系统 1-13(未完待续)
  • r39376-r39429 初步可测试版本
  • r39577-r41072 强化属性、锻造规则、表格、UI、部件逻辑、速度系数
  • r41189-r41344 面板切换、左右轮耐久合并、耐久计算优化
  • r41573-r41626 新改版:五维数据、创建 UI 全面修改

3. 你在 2023 年体现出的 UE4 技术能力

2023 全年看,你在这个阶段最突出的能力是“载具系统底层与玩法化能力”:

3.1 载具底层状态机与生命周期处理

你处理了大量:

  • 死亡
  • 殉爆
  • 残骸
  • 炮塔
  • 登录恢复
  • 客户端同步

这说明你已经能处理复杂 Actor 生命周期问题。

3.2 载具交互、座位和多人同步

你反复修改:

  • 上车
  • 下车
  • 换座位
  • 主副驾武器
  • 上线恢复驾驶数据

说明你在联机交互链路上已经有很深的经验。

3.3 载具物品化与状态持久化

你把载具当成:

  • 可回收物品
  • 可保留耐久和武器的实体
  • 可从背包再释放的对象

这类系统很考验存档、背包、恢复和权限边界。

3.4 载具玩法拓展能力

这一年你已经不只是在做“战斗载具”,还在做:

  • 资源载具
  • 非物理载具
  • 载具强化系统原型

说明你非常擅长把单一系统逐步发展成玩法平台。

3.5 数据驱动与 UI 联动能力

你大量涉及:

  • Content/Root
  • Config
  • DataTable
  • UI
  • 调试面板
  • GM 面板

说明你做系统时不是只改 C++,而是会把配套资源链路一起搭起来。

4. 按时间线回忆你 2023 年做了什么

2-3 月

  • 集中修载具死亡、殉爆、炮塔、残骸、重新登录和客户端同步问题
  • 持续重构上车流程、座位系统、权限和回收逻辑
  • 加入图纸、调试选项和一些基础 GM 支撑

4-6 月

  • 开始做资源载具玩法:伐木、收割、采矿、刀头、耐久、采集框、伤害
  • 持续完善载具回收、背包、武器、弹药和存档恢复
  • 做水体、灯光、风化、音频等环境适配

7 月

  • 明显转向非物理载具路线
  • 做贴地移动、履带 / 轮式表现、动画蓝图适配、打包环境同步问题修复

11-12 月

  • 启动载具强化系统
  • 从未完待续原型一路推进到可测试版本
  • 持续迭代部件属性、锻造规则、经验、品质、表格、创建 UI 和安装逻辑

5. 与 2024、2025 的关系

把三年连起来看,你的载具技术路线其实非常清晰:

2023

  • 载具底层逻辑年
  • 重点是死亡、权限、回收、资源载具、非物理载具、强化系统雏形

2024

  • 载具强化系统继续推进,同时开始把更多精力放到 PVE 战斗、GAS、近战体系

2025

  • 载具线进一步升级成完整的拼装载具系统,并叠加副本、流关卡、导航和更多大型系统

所以 2023 的意义非常大,它是你这几条主线里最早的起点年。

6. 一句话结论

如果用一句话总结你在 ProjectWar 主仓 2023 年的技术工作:

你主要承担了“载具底层逻辑与死亡殉爆修复 + 上下车/座位/权限/回收/存档恢复链路完善 + 资源载具玩法开发 + 非物理载具表现方案探索 + 年底载具强化系统原型搭建”这五类核心工作。