feat: UE5 LED display client #6
@@ -29,29 +29,35 @@ ue_client/Source/PlanetClient/StereoRenderingManager.cpp — EnableStereo() 函
|
||||
|
||||
---
|
||||
|
||||
## TODO-2:动捕中间件协议
|
||||
## TODO-2:动捕插件 API 文档
|
||||
|
||||
**等待信息**:光学姿态识别系统用什么协议输出数据给 UE5?
|
||||
**已确认**:动捕识别以 UE5 插件形式交付,摄像头直连电脑,不走 Live Link 转接。
|
||||
|
||||
| 可能答案 | 对应操作 |
|
||||
|---------|---------|
|
||||
| **Live Link**(首选) | 在 UE5 编辑器里添加 Live Link Source,零代码接入,约 2 小时完成 |
|
||||
| **OSC over UDP** | 新建 `MotionCaptureReceiverOSC.h/.cpp`,实现 UDP 监听和 OSC 解析,约 1 天 |
|
||||
| 私有 SDK(提供 .dll) | 需要 SDK 文档,封装成 UE5 插件,约 2-3 天 |
|
||||
| 私有 SDK(提供 UE5 插件) | 直接安装插件,对接事件接口,约 0.5 天 |
|
||||
**等待信息**:供应商提供插件文件 + API 文档后,需要知道:
|
||||
|
||||
**代码位置(已预留接口,填协议实现即可)**:
|
||||
| 需要确认的内容 | 用途 |
|
||||
|-------------|------|
|
||||
| 插件模块名称(`ModuleName`) | 加入 `PlanetClient.Build.cs` 依赖 |
|
||||
| 手势事件的 C++ 类名 / 委托名 | 替换 `MotionCaptureInterface.h` 里的抽象接口 |
|
||||
| 手势集合(能识别哪些手势) | 填写 `EMotionGesture` 枚举,配置 `FMotionActionMapping` |
|
||||
| 是否支持持续输出旋转增量 | 决定旋转地球用"持续增量"还是"离散手势触发" |
|
||||
| 数据回调是 C++ 委托还是 Blueprint 事件 | 决定绑定方式 |
|
||||
|
||||
**拿到插件后的接入步骤(我来做)**:
|
||||
1. 把插件放到 `ue_client/Plugins/` 目录
|
||||
2. 在 `PlanetClient.uproject` 里启用插件
|
||||
3. 在 `PlanetClient.Build.cs` 里加插件模块依赖
|
||||
4. 用插件实际 API 实现 `UMotionCaptureReceiver` 子类
|
||||
5. 在 `PlanetPlayerController::BeginPlay` 里取消注释 `BindMotionCaptureEvents()`
|
||||
|
||||
**代码位置(接口已预留)**:
|
||||
```
|
||||
ue_client/Source/PlanetClient/MotionCaptureInterface.h — UMotionCaptureReceiver 基类
|
||||
ue_client/Source/PlanetClient/PlanetPlayerController.cpp — BindMotionCaptureEvents() 函数(TODO 注释处取消注释)
|
||||
ue_client/Source/PlanetClient/PlanetClient.Build.cs — TODO 注释的 LiveLink/Sockets 依赖
|
||||
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 数组加插件条目
|
||||
```
|
||||
|
||||
**需要同时确认**:
|
||||
- 手势集合(供应商能识别哪些具体手势,用于填写 `EMotionGesture` 枚举)
|
||||
- 数据刷新频率(帧率)
|
||||
- 是否支持持续输出旋转增量,还是只能输出离散手势事件
|
||||
|
||||
---
|
||||
|
||||
## 答复到位后的操作清单
|
||||
@@ -59,4 +65,4 @@ ue_client/Source/PlanetClient/PlanetClient.Build.cs — TODO 注释的 LiveLink/
|
||||
拿到答案后告诉我,我来:
|
||||
|
||||
1. **视频处理器格式** → 配置 `StereoRenderingManager`,把 `bAutoEnableOnPlay` 改为 `true`,写进 setup guide
|
||||
2. **动捕协议** → 实现对应的 `UMotionCaptureReceiver` 子类,更新 `Build.cs` 依赖,在 `PlayerController::BeginPlay` 里取消注释绑定代码
|
||||
2. **动捕插件** → 插件放入 `ue_client/Plugins/`,实现 `UMotionCaptureReceiver` 子类对接插件 API,更新 `Build.cs` 和 `.uproject`
|
||||
|
||||
Reference in New Issue
Block a user