docs: update mocap delivery timeline and migration workflow
This commit is contained in:
@@ -29,30 +29,45 @@ ue_client/Source/PlanetClient/StereoRenderingManager.cpp — EnableStereo() 函
|
||||
|
||||
---
|
||||
|
||||
## TODO-2:动捕插件 API 文档
|
||||
## TODO-2:动捕角色接入
|
||||
|
||||
**已确认**:动捕识别以 UE5 插件形式交付,摄像头直连电脑,不走 Live Link 转接。
|
||||
**已确认**:
|
||||
- **本周末前**:供应商交付含动捕插件 + 3D 角色(已配好绑定和重定向)的基础 UE5 工程
|
||||
- 接入两台摄像头,4080 以上显卡即可直接运行动捕调试
|
||||
- **之后尽快**:动画资产单独交付,复制到工程 Content/ 目录即可直接调用
|
||||
- **我们的任务**:把他们工程内容迁移进 `ue_client/`,把角色动作映射到地球操作
|
||||
|
||||
**等待信息**:供应商提供插件文件 + API 文档后,需要知道:
|
||||
---
|
||||
|
||||
### 阶段 A:拿到基础工程后(本周末)
|
||||
|
||||
**迁移步骤**:
|
||||
|
||||
1. **迁移动捕插件**
|
||||
- 从供应商工程 `Plugins/` 拷到 `ue_client/Plugins/`
|
||||
- `PlanetClient.uproject` 的 `Plugins` 数组添加插件条目(`Enabled: true`)
|
||||
- `PlanetClient.Build.cs` 的 `PublicDependencyModuleNames` 加插件模块名
|
||||
|
||||
2. **迁移角色**
|
||||
- 把角色 Blueprint、动画、骨骼网格从供应商 `Content/` 拷到 `ue_client/Content/`
|
||||
- 在关卡里放置角色 Actor,确认摄像头接入后能正常驱动
|
||||
|
||||
3. **接入动作触发(关键,看到工程后确认方式)**:
|
||||
|
||||
| 需要确认的内容 | 用途 |
|
||||
|-------------|------|
|
||||
| 插件模块名称(`ModuleName`) | 加入 `PlanetClient.Build.cs` 依赖 |
|
||||
| 手势事件的 C++ 类名 / 委托名 | 替换 `MotionCaptureInterface.h` 里的抽象接口 |
|
||||
| 手势集合(能识别哪些手势) | 填写 `EMotionGesture` 枚举,配置 `FMotionActionMapping` |
|
||||
| 是否支持持续输出旋转增量 | 决定旋转地球用"持续增量"还是"离散手势触发" |
|
||||
| 数据回调是 C++ 委托还是 Blueprint 事件 | 决定绑定方式 |
|
||||
| 角色动作怎么暴露给外部? | Blueprint Custom Event / AnimNotify / 骨骼姿态变量? |
|
||||
| 手势集合有哪些? | 填写 `EMotionGesture` 枚举,配置 `FMotionActionMapping` |
|
||||
| 是否持续输出旋转增量? | 旋转地球用"持续增量"还是"离散手势触发" |
|
||||
| 插件模块名称(`ModuleName`)| 加入 `Build.cs` 依赖 |
|
||||
|
||||
**拿到插件后的接入步骤(我来做)**:
|
||||
1. 把插件放到 `ue_client/Plugins/` 目录
|
||||
2. 在 `PlanetClient.uproject` 里启用插件
|
||||
3. 在 `PlanetClient.Build.cs` 里加插件模块依赖
|
||||
4. 用插件实际 API 实现 `UMotionCaptureReceiver` 子类
|
||||
5. 在 `PlanetPlayerController::BeginPlay` 里取消注释 `BindMotionCaptureEvents()`
|
||||
**拿到工程后(我来做)**:
|
||||
- 用插件实际 API 实现 `UMotionCaptureReceiver` 子类
|
||||
- 在 `PlanetPlayerController::BeginPlay` 里取消注释 `BindMotionCaptureEvents()`
|
||||
|
||||
**代码位置(接口已预留)**:
|
||||
```
|
||||
ue_client/Source/PlanetClient/MotionCaptureInterface.h — 基类和手势枚举
|
||||
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 数组加插件条目
|
||||
@@ -60,6 +75,13 @@ ue_client/PlanetClient.uproject — Plugins 数组加
|
||||
|
||||
---
|
||||
|
||||
### 阶段 B:动画资产到位后
|
||||
|
||||
- 把供应商提供的动画资产直接复制到 `ue_client/Content/` 对应目录
|
||||
- 在 `PlanetDataManager` / 场景 Actor 里引用这些资产即可调用
|
||||
|
||||
---
|
||||
|
||||
## 答复到位后的操作清单
|
||||
|
||||
拿到答案后告诉我,我来:
|
||||
|
||||
Reference in New Issue
Block a user