2025 年 UE4 技术回顾

← 返回简历首页

Lisp 2025 年 SVN 提交 UE4 技术回顾

1. 总览

  • 统计范围:2025-01-012025-12-31
  • SVN 作者:lisp
  • 提交次数:578
  • 版本区间:r57886r64699
  • 提交高峰:2025-06 (99 次)2025-09 (90 次)2025-05 (75 次)2025-10 (70 次)

从提交路径和提交说明看,你在 2025 年的工作重心非常明确,主要集中在以下几个方向:

  1. 流关卡 / 传送门 / 导航修复 / 副本加载流程
  2. 载具拼装系统的完整研发与大量迭代
  3. 尸潮副本的通道进入、积分、UI、退出、异常恢复
  4. 海洋水体与 Ocean 相关优化,以及后期 Oceanology 插件集成
  5. AI / NPC / 简单僵尸 / 性能优化 / 崩溃保护
  6. UI/HUD 调试信息、GM 命令、打包与工程化脚本

你的改动画像不是单一功能开发,而是偏“系统型开发 + 疑难问题修复 + 线上工程化”的组合。

2. 你在项目里的技术重心

2.1 流关卡、传送门、导航、LS/DS 差异处理

这是你在上半年非常明显的一条主线,核心问题都围绕:

  • 流式关卡加载时机不稳定
  • LS 模式和 DS 模式行为不一致
  • 玩家传送后掉入地下
  • 导航数据未及时创建或客户端不可用
  • 副本/传送门回调时序不正确

你做过的代表性工作:

  • 把传送门的蓝图逻辑逐步转到 C++,减少蓝图时序不确定性
  • 为关卡传送、关卡加载、角色上线/复活增加状态判断
  • 修复地下下水道、尸潮副本、PVP 副本等多个场景中的“掉入地下”问题
  • 修复导航在客户端不可用、导航数据未创建、静态网格导航配置不正确的问题
  • 增加调试命令和 HUD 输出,辅助定位流关卡与导航状态
  • 反复区分 LS / DS 的特殊处理路径

这说明你对 UE4 下面这些点有实际踩坑经验:

  • ULevelStreaming 相关加载时序
  • LatentAction 回调链的触发点控制
  • 玩家传送后位置修正和落地保护
  • 导航数据在服务端/客户端上的创建条件
  • 资源加载完成不等于场景可安全落地
  • Listen Server 模式下“主机即玩家”的特殊性

可回忆的代表 revision:

  • r58050-r58052 关卡传送门蓝图逻辑转 C++
  • r58072 LS 模式传送门后掉入地下修复
  • r58182-r58215 导航刷新、传送门与地下下水道问题修复
  • r58222-r58223 批量修复静态网格导航设置,覆盖大量资源
  • r60713-r60740 新增导航 GM 命令,DS 只在服务器修复导航
  • r61501 副本关卡传送门回调用 FLatentActionInfo::ExecutionFunction
  • r63118-r63243 尸潮副本场景加载、掉入地下、Loading 流程多轮修复
  • r64149-r64197 副本加载流程优化,继续处理掉地、UI、光照、雾 Actor

2.2 海洋水体、海洋 Actor 与 Ocean 插件

2 月到 3 月你对海洋相关功能做过一波比较典型的“蓝图实验 -> C++ 托管 -> 运行时优化”的工作:

  • 海洋水体优化测试
  • 海洋蓝图转移到 C++
  • 根据玩家位置自动隐藏海洋 Actor
  • 在持久关卡中增加海水管理 Actor
  • 增加调试命令控制海洋显示

这类改动体现的是你在处理“大地图性能 + 流关卡下的显示控制”:

  • 不只是会配蓝图,还会把高频逻辑转到 C++
  • 会针对持久关卡做集中式管理 Actor
  • 会加 GM/Console 命令做运行时排障

代表 revision:

  • r58060 海洋水体优化测试
  • r58106 海洋蓝图转 C++
  • r58110 根据玩家位置自动隐藏海洋 Actor
  • r58115 增加海水管理 Actor
  • r58164 隐藏所有海洋的调试命令
  • r58233 海洋 Actor 优化
  • r58286-r58290 关闭海洋优化命令与自由模式地图中的海水优化 Actor

到 11 月底,你又提交了整套 Oceanology_Plugin

  • r64321 一次性提交 963 个插件相关路径
  • 覆盖 BinariesContentSourceResources.uplugin

这说明你后期已经不只是做项目内的海洋优化,而是把外部海洋插件集成到工程中,具备插件接入和工程落地能力。

2.3 载具拼装系统:你 2025 年最重的系统开发

从 4 月开始,载具拼装系统是你最核心的一条研发主线,而且不是小修小补,而是“从无到有 + 大量迭代”。

从提交规模看:

  • Content/Root/Vehicle 是你全年最高频的三级目录
  • Source/ProjectWar/VehicleCharacterHUDGameDataConstruct 都被大量联动修改
  • 资源、DataTable、UI、碰撞、权限、伤害、同步、存档、掉落、背包都被你串起来了

你做过的事情大致可以分成这些技术块:

A. 系统搭建

  • 载具拼装系统初版的 C++ 框架搭建
  • 配套蓝图、配置、碰撞预设、资源、DataTable 一起落地
  • 工作台、底盘、车体、拼装块、载具券等对象体系成型

代表 revision:

  • r58487 载具拼装系统初版(C++)
  • r58488 载具拼装系统初版(蓝图、配置、资源)
  • r58579 原分支拼装载具资源包一次性并入,大量 Content/Root/Vehicle 资源落地

B. 数据驱动与资源配置

  • 配新载具、超大履带载具、武器块、轮子、履带
  • 增加属性表格、武器表格、图纸配置、字符串表、本地化
  • 修改块类型、子类型、品质、属性显示、图纸随机属性

你明显在做“代码 + DataTable + 本地化 + UI”四位一体的数据驱动。

C. 交互与 UI

  • 工作台 UI 刷新
  • Grid 拖拽
  • Tips 展示
  • 载具券信息显示
  • Block 信息显示
  • 底盘面板显示隐藏
  • 首次打开 UI 无数据修复
  • ESC/输入模式/UI 焦点问题

说明你对 UE4 UMG 和游戏逻辑联动很熟,不只是改界面,而是处理:

  • 数据刷新时机
  • 客户端回调
  • 交互权限
  • 输入模式切换
  • UI 与背包、装备、工作台之间的状态同步

D. 碰撞、吸附、拼装约束

  • 吸附点显示、隐藏、颜色、数组索引保护
  • 拼装块数量限制
  • 轮子数量限制
  • 吸附区域初始化
  • 初始旋转 / 旋转偏移
  • Landscape Block 规则
  • 只允许一个车体
  • 伤害框 / Destroy Box / 碰撞预设修改

这反映出你对 UE4 场景交互常见问题都实际处理过:

  • Collision Preset
  • 组件层级
  • 物理体/胶囊体碰撞
  • 资源上的碰撞配置和代码中的过滤逻辑一起配套修改

E. 伤害、耐久、武器和护甲

  • 块耐久、车体耐久、整体耐久显示
  • 护甲、生效顺序、护甲穿深属性
  • 武器弹夹容量、射速、转速、射程属性生效
  • 炸膛 / FX Socket / 音效 / 熄火 / 损毁材质
  • 范围伤害下多个护甲块向车体转换时的逻辑修复

这里体现你不仅在做载具外观和交互,还深入到了:

  • 武器与伤害结算
  • 属性系统落地
  • UI 数值表现
  • 资源 Socket / 特效 / 音效的配套修正

F. 存档、上下线、同步、异常恢复

  • 上下线恢复工作状态
  • LS 服未完成拼装就被存档
  • 存档恢复后吸附区域清理
  • 存档恢复损毁特效
  • 载具券回收后弹药 / 物品返还
  • 下发不同步、UI 不刷新、远离后再回来状态错误

这说明你处理了大量“多人联机 + 持久化 + 中途异常状态”的难题。

G. LS/DS、崩溃与线上 Bug

  • LS/DS 放入底盘、取下底盘行为不一致
  • 载具券、工作台、背包逻辑在不同网络模式下差异很大
  • 反复增加 ensure 优化、空指针保护、崩溃修复

代表 revision 可以重点回忆:

  • r58487-r58580 系统初版、资源导入、武器支持
  • r58632-r58732 吸附点、UI、碰撞、Block 提示、动画蓝图
  • r58863-r59094 属性、图纸、DataTable、UI、随机属性、耐久
  • r59149-r59315 Tips、速度、伤害、接口命名统一、武器属性生效
  • r59876-r60472 旋转、UI、损毁、载具死亡、持久化、LS/DS Bug、崩溃修复
  • r60541-r61281 属性继续生效、交互权限、资源摧毁框、武器旋转同步、护甲穿深、碰撞规则
  • r62474 拼装块载具电锯攻击僵尸崩溃修复
  • r63795-r63838 只允许一个车体、UI 区分车体/底盘、范围伤害护甲块结算修复
  • r64523 Ship 测试提交
  • r64684-r64685 老工程迁移蜘蛛腿相关 C++ 与蓝图资源

一句话总结:你在 2025 年已经把“载具拼装”从概念验证推进到了一个跨 C++、蓝图、资源、UI、伤害、网络同步、存档恢复、工程配置的完整系统。

2.4 尸潮副本:通道、积分、限制条件、异常状态恢复

8 月到 10 月,你的另一条超重主线是“尸潮副本支持选择通道进入逻辑”。

这部分非常像你在做一个独立的副本系统产品化迭代,涉及:

  • 通道进入
  • 不同通道公用配置
  • 公会限制 / 队伍限制
  • 商店虚拟货币购买
  • 独立积分与详细积分计算
  • 击杀倍率
  • 副本内死亡复活点
  • 掉落包处理
  • LS / DS / 下线 / 断线 / 杀进程 / 副本结束的异常流程
  • 副本结束后玩家转移、大世界入口恢复
  • UI、Loading、退出确认、遗留物品取回

这部分反映出你对 UE4 中“副本状态机”有很强的实战修改经验。你处理的问题,已经不是单个函数,而是完整流程:

  1. 玩家如何进入副本
  2. 副本中 UI、积分、商店如何联动
  3. 中途死亡、下线、断线、强退如何恢复
  4. 副本结束后怎么清理、怎么结算、怎么转移玩家
  5. 组队、公会、通道、GroupId 如何参与逻辑判断

代表 revision:

  • r61607-r61659 通道进入逻辑初版
  • r61710-r61829 公用配置、公会限制、UI 和蓝图补充
  • r61760-r61803 LoadingUI、积分独立、积分详细计算
  • r61901-r62151 商店虚拟货币、玩家是否在副本中、GM 命令、击杀倍率显示
  • r62207-r62468 退出、复活点、战场清理、配置名修改、NPC 距离限制
  • r62678-r62981 不同副本组积分图标、爆炸桶积分、商店刷新、组队积分规则
  • r63060-r63307 副本内退出、掉地、Loading、下线恢复、掉落包处理
  • r63318-r63945 LoadingUI 时机、退出确认、积分存档、独立冷却、交互式传送门、遗留物品取回、GroupId 问题、音乐配置
  • r64100-r64197 商店扣分 bug、加载流程持续优化、雾 Actor / 光照 / LS 传送异常继续修复

这条线说明你非常熟悉:

  • 关卡状态同步
  • 副本中玩家状态持久化
  • 服务端权威逻辑
  • HUD/UMG 与副本数据绑定
  • GM 调试命令辅助定位
  • 复杂异常流程兜底

2.5 AI / NPC / 简单僵尸 / 性能与刷怪

你全年也持续做了不少 AI / NPC 相关工作:

  • 自动删除远离玩家的 NPC
  • 刷怪器限制调整
  • 服务器启动延迟后再开始刷怪循环
  • 输出 NPC 位置 / 数量统计
  • 简单僵尸 C++ 与蓝图原型
  • NPC 积分、爆炸桶击杀、玩家载具击杀计分
  • 远离玩家 NPC 跳帧优化
  • RunGameThread 等线程相关修正

这说明你既做行为逻辑,也做性能调优和调试观测。

代表 revision:

  • r58167 自动删除不在玩家周围的 NPC
  • r58239 关卡加载完成后再生成 NPC
  • r60798 服务器启动后延迟 10 秒开始刷怪循环
  • r61237 使用 RunGameThread
  • r61348-r61367 HUD / Framework 输出 NPC 数量统计
  • r62512 远离玩家的 NPC 跳帧优化
  • r62608-r62967 简单僵尸 C++、蓝图和整体修改

2.6 HUD、调试信息、GM 命令与可观测性

从很多 revision 能看出,你在做系统功能时,会顺手补齐可调试能力:

  • HUD 输出加载状态、NPC 数量、对象数量、属性信息
  • GM 命令控制导航刷新、玩家冷却、退出副本、删除尸体、停止 NPC 重生等
  • 日志输出、警告开关、调试信息展示

这是很典型的“线上问题定位思维”,不是只修功能,而是先建立观测手段。

代表 revision:

  • r58014 关卡加载调试信息显示
  • r58182 刷新关卡导航信息的 GM 命令
  • r60713 SetAutoRefreshNavFlag
  • r62170 RefreshPlayerLocNav
  • r62241-r62242 修改关卡游戏时间、输出服务器 NPC 数量
  • r63444-r63446 玩家冷却时间 GM 命令优化
  • r63990 RemoveAllDeadFighter
  • r64185 StopAllNPC

2.7 工程化、打包、版本、第三方插件与线上发布

你并不只在写玩法,也在处理项目工程化:

  • 打包脚本自动读取 SVN 提交编号
  • 不同 BuildConfig 拥有独立母包版本号
  • 停止 FTP 上传改为本地存储
  • Test 包也保存符号文件
  • Development/Test/Shipping 的 dll、pdb 名称特殊处理
  • 符号服务器地址修改
  • Linux 编译错误修复
  • EasyAntiCheat 升级
  • Workshop 插件编译
  • CatchyPlugin / Steam OnlineSubsystem 的保护处理
  • icsdk 假 Development lib 接入

代表 revision:

  • r57905 打包脚本自动获取 SVN 提交编号
  • r58344 符号服务器地址变更
  • r58392 打包脚本增加 OnlyExe 参数
  • r61320 Development 包与 Test/Shipping 名称差异处理
  • r61323 EasyAntiCheat 1.6.0 升级到 1.9.0
  • r61500 根据 BuildConfig 区分母包版本号
  • r62014 停止 FTP 上传改为本地存储
  • r62142 Test 包完成后保存符号文件
  • r64142 Workshop 插件编译提交
  • r64291-r64294 Steam 子系统获取失败次数限制
  • r64461 Socket 连接有效性保护

2.8 崩溃修复、空指针保护、线上稳定性

你全年多次做“线上崩溃保护型提交”,而且分布在不同模块:

  • Character
  • Vehicle
  • AI
  • Framework
  • GamePlay
  • BaseClasses

说明你承担了不少线上稳定性问题处理。

常见手段包括:

  • 空指针保护
  • 延迟 Spawn 相关崩溃修复
  • Development 包崩溃保护
  • 线上外网崩溃日志后定点修复
  • 等价重写危险代码并记录日志
  • 资源加载未完成时的保护逻辑

代表 revision:

  • r58116r58136 空指针保护
  • r60472 载具拼装崩溃修复
  • r61292-r61310 外网崩溃与 Development 包崩溃处理
  • r61422 服务器崩溃空指针保护
  • r62303 UConstructManager::PickupOverlapSphere 崩溃临时修复
  • r63022-r63103 延迟 Spawn、爆炸桶相关崩溃修复
  • r63342 潜在空指针保护
  • r63908-r63942 Character / AI / 客户端崩溃保护

3. 你改动里体现出的 UE4 技术能力

从 2025 全年提交看,你在这个项目中体现出的 UE4 技术能力主要有:

3.1 蓝图转 C++ 的工程化落地能力

你不是简单“会写 C++”,而是会把蓝图中时序敏感、性能敏感、稳定性敏感的逻辑迁移到 C++:

  • 传送门逻辑
  • 海洋管理逻辑
  • 简单僵尸逻辑
  • 多个副本/载具相关核心流程

这说明你知道什么时候蓝图够用,什么时候必须转 C++。

3.2 多系统联动能力

你的大功能都不是单点修改,而是会同时联动:

  • Source
  • Content
  • Config
  • DataTable
  • UI
  • Localization
  • Build Script

这说明你对 UE4 项目的整体结构很熟,不是只改某个类。

3.3 联机模式差异处理能力

你大量提交都在处理:

  • Listen Server
  • Dedicated Server
  • 客户端
  • 上下线
  • 中途断线
  • 杀进程

说明你在网络模式差异、状态恢复、服务端权威处理方面有扎实经验。

3.4 数据驱动思维

你经常通过这些方式落地功能:

  • DataTable
  • 枚举
  • 资源表配置
  • 字符串表 / 本地化
  • 碰撞预设 / ini 配置

这类习惯说明你做功能时考虑长期维护,而不是把逻辑全硬编码在类里。

3.5 调试与线上排障意识

你经常补:

  • HUD 调试信息
  • GM 命令
  • 日志输出
  • 空指针保护
  • 临时兜底逻辑

这说明你很适合接“线上问题难复现”的系统性 Bug。

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

1-3 月

  • Linux 编译错误修复
  • UI 载具速度显示调整
  • 关卡传送门蓝图逻辑转 C++
  • 海洋水体优化与管理 Actor
  • 导航批量修复
  • 关卡 / 副本掉地与导航问题集中处理

4-7 月

  • 载具拼装系统初版启动
  • 大量 C++、蓝图、资源、UI、DataTable、碰撞配置接入
  • 载具武器、护甲、属性、图纸、耐久、伤害、同步、存档持续完善
  • LS/DS 差异、工作台、载具券、背包联动、损毁效果、旋转与吸附大量修正

8-10 月

  • 尸潮副本通道进入逻辑完整推进
  • 商店虚拟货币、积分系统、公会限制、退出与下线恢复
  • LoadingUI、交互式传送门、掉落包与遗留物品、GroupId 等问题大量修复
  • 同期继续补充载具、AI、崩溃保护和打包脚本

11-12 月

  • 副本加载流程继续优化
  • 玩家尸体休眠 / 删除长时间不登录玩家尸体
  • Workshop、CatchyPlugin、Oceanology_Plugin 等工程与插件工作
  • 船载具测试
  • 老工程蜘蛛腿相关内容迁移

5. 你可以怎么用这份文档快速回忆

如果你想快速恢复对项目的记忆,建议按下面顺序回忆:

  1. 先看“载具拼装系统”这一章,因为这是你全年最重的产出
  2. 再看“尸潮副本”,因为它体现了你后半年的系统性工作
  3. 然后回看“流关卡 / 导航 / 掉地 / LoadingUI”这条线,这基本是你在项目里最核心的排障能力
  4. 最后看“打包 / 插件 / 崩溃保护”,补齐你对工程侧工作的记忆

6. 一句话结论

如果用一句话总结你 2025 年在这个 UE4 项目里的技术工作:

你主要承担了“复杂联机玩法系统开发 + 流关卡/副本时序修复 + 载具拼装系统研发 + 尸潮副本产品化迭代 + 线上稳定性与工程化支持”这五类核心工作。