# 项目背景:UE5 + 3D LED 大屏展示系统 > 供其他 AI 快速了解项目背景和当前状态。 > 最后更新:2026-04-14 --- ## 一、项目定位 这不是一个普通的桌面地球应用,而是一套**领导演示用的 3D 沉浸式展示系统**。 核心逻辑: - 态势感知数据(超算、海缆、卫星)是内容 - 3D LED 大屏 + 实时渲染 + 动捕交互是"醋"——没有它,内容再好也只是普通屏幕 - 主要受众:领导/决策层,注重视觉冲击力 --- ## 二、硬件配置 | 硬件 | 规格 | 说明 | |------|------|------| | 3D LED 大屏 | 5.12m × 2.88m,P1.538mm,被动偏振式 | 观众戴无源 3D 眼镜(≤18g),60Hz 即可出稳定 3D | | 渲染工作站 | 双路国产 X86 CPU + RTX 5090 32GB | 驱动 UE5 实时渲染 | | 视频处理器 | 随屏配套(品牌待确认) | 接收 GPU 信号,驱动 LED 墙 | | 动捕摄像头 | RGB 摄像头 ×2,4K,直连电脑 | 无穿戴姿态识别 | | 音响 | 解码功放 + 吸顶喇叭 ×5 + 低音炮 | 配套 | --- ## 三、软件架构 ``` 摄像头(×2,直连) ↓ 动捕插件(供应商提供 UE5 插件) UE5 主程序(我们开发) ├── Cesium 地球(实时渲染) ├── 超算数据点(可交互) ├── 其他可交互物件 └── 立体渲染输出 ↓ 视频信号(格式待确认) 视频处理器(随屏配套) ↓ LED 驱动信号(行偏振) 5m 被动偏振 3D LED 大屏 ``` --- ## 四、分工 | 部分 | 谁做 | 状态 | |------|------|------| | LED 屏体 + 视频处理器 | 屏幕供应商 | 采购中 | | 动捕插件(UE5 插件形式) | 动捕供应商 | 待交付 | | UE5 基础工程(关卡+角色+动捕绑定) | 动捕供应商 | 待交付 | | 地球场景 + 数据可视化 + 交互逻辑 | 我们(本项目) | 开发中 | | 后端数据接口 | 我们(本项目) | 已完成 | | 其他 9 个定制 3D 资产和动画 | 3D 内容供应商 | 采购中 | --- ## 五、动捕交互方式 **交付形式(已确认)**: - 供应商给我们**完整 UE5 工程**,包含: - 视频动捕插件 - 已配好绑定和重定向的 3D 角色 - 3D 模型和动画资产 - 接两台摄像头即可直接运行 - **我们的任务**:把他们工程的内容(插件 + 角色 + 资产)**迁移进我们的 `ue_client/` 工程**,然后把角色动作映射到地球操作 **待确认**:角色动作的触发点是什么形式? - 蓝图 Custom Event(如 `OnGestureRotate`)? - AnimNotify? - 需要我们自己判断骨骼姿态? **交互目标(一期)**: 1. 手势旋转地球 2. 手势缩放地球 3. 手势指向/确认 → 选中数据点,弹出信息卡 4. 鼠标作为备用输入(始终可用) --- ## 六、立体渲染 **待确认**: 1. 供应商基础工程里是否已配好立体渲染输出? 2. 如果没有:视频处理器接受什么格式?(Side-by-Side / Top-Bottom / 其他) 3. 给供应商的文件形式:UE5 工程 / .exe / 视频文件 / 直连实时输出? **已准备**:`StereoRenderingManager.h/.cpp` 支持运行时切换 SbS/TbB,格式确认后直接启用。 --- ## 七、已完成的代码 ### 后端 (`backend/app/api/v1/ue_data.py`) - `GET /api/v1/ue/status` — 健康检查 - `GET /api/v1/ue/compute-points` — TOP500 超算(平铺 JSON) - `GET /api/v1/ue/landing-points` — 海缆登陆点 - `GET /api/v1/ue/cables` — 海缆路由几何 - `GET /api/v1/ue/satellites` — 卫星 TLE 数据 ### UE5 C++ (`ue_client/Source/PlanetClient/`) | 文件 | 功能 | |------|------| | `PlanetDataTypes.h` | FComputePoint 等数据结构 | | `PlanetDataManager` | HTTP 拉取 + mock 数据 + 生成 Actor | | `ComputePointActor` | 超算点 Actor,三态材质(正常/悬停/选中)| | `InteractiveObjectBase` | 所有可交互物件的基类 | | `GlobeInteractionComponent` | 拖拽旋转地球(改 Cesium 经纬度原点)+ 缩放,带惯性 | | `StereoRenderingManager` | 立体渲染开关,SbS/TbB,IPD 可调 | | `MotionCaptureInterface.h` | 动捕接口抽象(待用插件 API 替换实现)| | `PlanetPlayerController` | 统一处理鼠标 + 动捕输入 | | `PlanetGameMode` | 场景入口 | ### 文档 - `docs/ue_client_setup_guide.md` — 编辑器操作 step-by-step 指南 - `docs/ue_todo.md` — 待供应商回复的 TODO - `docs/ue5_mvp_fused_plan.md` — 完整实施方案(v3.0) --- ## 八、交付时间线 | 时间 | 内容 | 状态 | |------|------|------| | 本周末前 | 动捕供应商:含动捕插件 + 3D 角色(绑定/重定向已配好)的基础 UE5 工程 | 等待中 | | 之后尽快 | 动捕供应商:动画资产(复制进 Content/ 即可直接调用) | 等待中 | | TBD | LED 屏供应商:视频处理器接受的 3D 信号格式(或直接技术支持对接) | 等待中 | **拿到基础工程后可立即做**:迁移插件和角色,接摄像头做动捕调试,然后对接动作→地球操作映射。 **双目 3D 显示**:供应商可提供技术支持,等视频处理器到位后直接对接。 --- ## 九、当前阻塞项 1. **动捕基础工程**(本周末前到)→ 迁移内容,确认动作触发方式,完成交互对接 2. **动画资产**(尽快)→ 复制入 Content/,在场景中引用 3. **3D 显示格式**(有供应商技术支持)→ 配置 `StereoRenderingManager`