案例

项目展示与开发记录。

案例/UE项目

驾驶仿真

Driving simulation

面向驾驶训练的三屏仿真项目,结合显示适配、驾驶过程采集、成绩统计与场景回放。

  • 仿真控制
  • 驾驶训练
  • 多屏显示
  • 记录回放
联系合作

封面

返回
本页目录

项目介绍

这是一个面向驾驶训练与模拟考试的 UE 项目。三块屏幕共同呈现驾驶环境,训练过程中采集操作与车辆状态,训练后通过成绩记录、过程曲线和场景回放回顾驾驶表现。

项目需要同时处理显示和数据两方面的问题:三屏画面要有一致的光照与曝光;记录系统要能说明驾驶员怎样操作、一次训练得到什么结果,并支持重新观看场景。我的工作集中在三屏渲染适配、驾驶过程采集、成绩统计和 UE 回放管理。

项目部分主要内容
使用场景驾驶训练、模拟考试与训练过程回顾
显示形式三屏多视角场景
引擎环境UE 5.3 / 5.3.2 源码版的相关适配
记录方式过程 JSON、成绩 JSON、UE Network Replay
个人职责渲染问题处理、过程与成绩数据组织、回放接口接入

我负责的功能

三屏光照与曝光适配

处理三屏环境中的 Lumen 全局光照异常,以及不同屏幕自动曝光不一致的问题。相关工作涉及引擎多视角数量限制、视图数据关联和 LocalPlayer 的视图构建路径,使三屏场景能够按项目需要组织光照和曝光计算。

这部分基于特定版本的引擎源码修改,不是仅靠项目设置即可完成的通用配置。

驾驶过程采集

通过 WorldSubsystem 组织持续采集,将方向盘、刹车、油门、速度、头部朝向、位置和方向等信息写入带时间坐标的数据通道。位置在记录边界由 UE 的厘米换算为米,方便后续读取和分析。

连续数值与离散状态分别组织:方向盘、刹车和速度形成曲线;档位、转向灯则记录状态变化发生的时间和值。这样既能查看操作趋势,也能定位某次换挡或灯光操作。

成绩统计与查询

单独组织一次训练的结果记录,包括成绩标签、转向与起步次数、完成时间、反应时间和日期,并提供记录筛选。成绩数据用于结果查询,过程数据用于查看操作细节,两者保留各自的结构。

场景录制与回放管理

接入 UE Network Replay,封装开始录制、播放、枚举、重命名和删除等操作,为业务界面管理录制文件提供入口。场景回放复用引擎机制,过程曲线不承担重建完整场景的职责。

解决的难点

三个视角超出原有实现的数量限制

三屏显示增加的不只是一个画面。在当时使用的 UE 5.3 实现中,相关多视角数据存在写死的数量上限,超过支持范围后会影响 GI 表现。

我根据源码定位相关实现,将涉及的最大视角数量从 2 调整为 3,并整理了七处修改位置。处理重点是让关联的数据路径共同支持第三个视角,避免只修改显示入口、底层仍按原有数量组织数据。具体源码位置保存在关联技术记录中。

多个 LocalPlayer 的自动曝光不一致

三个画面各自计算曝光时,即使属于同一个驾驶场景,也可能出现明显的亮度差异。

针对 UE 5.3.2 的视图构建路径,我通过自定义 LocalPlayer,将非主玩家的相关视图设置为 Secondary StereoPass,使曝光计算关联到同一组视图数据。这个处理针对当时的版本与多屏组织方式,移植到其他版本时需要重新检查引擎实现。

成绩、操作曲线与场景回放不能混用

训练后的查看需求有不同粒度:成绩表回答完成情况和行为次数;连续曲线说明刹车、速度等值怎样变化;场景回放用来重新观看驾驶过程。将它们放进一种记录格式,会模糊各自能表达的内容。

我把三类数据分别组织,使统计界面、过程分析和回放管理能够使用对应的记录。即使它们来自同一次训练,也不把字段相似当作可以相互替代的依据。

采样频率变化与后台保存

过程采集随 Tick 推进,不能假定每段数据具有固定采样频率。我为样本保留时间坐标,并按批次整理数据;3000 条是缓冲处理阈值,不代表固定的时间间隔。曲线按通道拟合与简化,读取时仍使用实际时间信息。

序列化与文件写入放到后台执行,同一路径通过锁协调写入,并支持将完成回调送回游戏线程。这样把文件操作与逐帧采集分开,也明确区分了“开始保存”和“保存完成”两种状态。

实现结果与适用范围

项目形成了三屏显示适配、操作过程采集、训练成绩查询和引擎回放管理的配套功能。显示侧处理光照与曝光一致性,数据侧分别保留连续曲线、离散事件、成绩结果和场景录制,方便从不同角度回顾训练。

曲线简化的误差阈值作用于时间与数值组成的拟合平面,不能直接解释为所有通道具有相同的物理精度。现有采集调用方也没有在退出时等待后台保存结束,最后一批数据的可靠留档仍需要结束流程与完成通知配合。

三屏源码适配以当时的 UE 版本为范围,其他版本需要重新检查对应实现。具体 Actor 和状态能否在回放中重现,取决于项目的网络复制与 Replay 配置。

相关记录