Files
planet/docs/ue_todo.md

91 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`