# UE5 客户端 — 待供应商回复的 TODO > 以下两个问题答复后,对应代码可在一天内完成。 > 其余所有代码均已写好,不依赖这两个答案。 --- ## TODO-1:视频处理器输入格式 **等待信息**:LED 屏配套视频处理器(如诺瓦星云)接受什么 3D 信号格式? | 可能答案 | 对应操作 | |---------|---------| | Side-by-Side(左右并排) | `StereoRenderingManager.cpp` 里 `EnableStereo` 的 `SideBySide` 分支已写好,直接启用 | | Top-Bottom(上下叠加) | 同上,切换到 `TopBottom` 分支 | | 行交错(行偏振直驱) | 需要新写一个 PostProcess Material,把左右眼奇偶行合并输出 | | 私有协议 | 需要供应商提供 UE5 插件或信号格式文档 | **代码位置**: ``` ue_client/Source/PlanetClient/StereoRenderingManager.h — 第 8-18 行 TODO 注释 ue_client/Source/PlanetClient/StereoRenderingManager.cpp — EnableStereo() 函数 ``` **需要同时确认**: - 视频处理器品牌和型号 - 屏幕物理分辨率(用于配置 UE5 输出分辨率) - 3D 启用时是否需要特殊信号时序(如 3D Frame Packing) --- ## TODO-2:动捕角色接入 **已确认**: - **本周末前**:供应商交付含动捕插件 + 3D 角色(已配好绑定和重定向)的基础 UE5 工程 - 接入两台摄像头,4080 以上显卡即可直接运行动捕调试 - **之后尽快**:动画资产单独交付,复制到工程 Content/ 目录即可直接调用 - **我们的任务**:把他们工程内容迁移进 `ue_client/`,把角色动作映射到地球操作 --- ### 阶段 A:拿到基础工程后(本周末) **迁移步骤**: 1. **迁移动捕插件** - 从供应商工程 `Plugins/` 拷到 `ue_client/Plugins/` - `PlanetClient.uproject` 的 `Plugins` 数组添加插件条目(`Enabled: true`) - `PlanetClient.Build.cs` 的 `PublicDependencyModuleNames` 加插件模块名 2. **迁移角色** - 把角色 Blueprint、动画、骨骼网格从供应商 `Content/` 拷到 `ue_client/Content/` - 在关卡里放置角色 Actor,确认摄像头接入后能正常驱动 3. **接入动作触发(关键,看到工程后确认方式)**: | 需要确认的内容 | 用途 | |-------------|------| | 角色动作怎么暴露给外部? | Blueprint Custom Event / AnimNotify / 骨骼姿态变量? | | 手势集合有哪些? | 填写 `EMotionGesture` 枚举,配置 `FMotionActionMapping` | | 是否持续输出旋转增量? | 旋转地球用"持续增量"还是"离散手势触发" | | 插件模块名称(`ModuleName`)| 加入 `Build.cs` 依赖 | **拿到工程后(我来做)**: - 用插件实际 API 实现 `UMotionCaptureReceiver` 子类 - 在 `PlanetPlayerController::BeginPlay` 里取消注释 `BindMotionCaptureEvents()` **代码位置(接口已预留)**: ``` ue_client/Source/PlanetClient/MotionCaptureInterface.h — 基类和手势枚举 ue_client/Source/PlanetClient/PlanetPlayerController.cpp — BindMotionCaptureEvents() ue_client/Source/PlanetClient/PlanetClient.Build.cs — TODO 注释处加插件模块名 ue_client/PlanetClient.uproject — Plugins 数组加插件条目 ``` --- ### 阶段 B:动画资产到位后 - 把供应商提供的动画资产直接复制到 `ue_client/Content/` 对应目录 - 在 `PlanetDataManager` / 场景 Actor 里引用这些资产即可调用 --- ## 答复到位后的操作清单 拿到答案后告诉我,我来: 1. **视频处理器格式** → 配置 `StereoRenderingManager`,把 `bAutoEnableOnPlay` 改为 `true`,写进 setup guide 2. **动捕插件** → 插件放入 `ue_client/Plugins/`,实现 `UMotionCaptureReceiver` 子类对接插件 API,更新 `Build.cs` 和 `.uproject`