P-012 v0.1 交互系统 — ⑥程序实现 #32

Closed
opened 2026-06-11 00:34:30 +08:00 by Ghost · 0 comments

任务信息

  • 任务ID: P-012
  • 所属版本: v0.1
  • 角色: 程序
  • 流水线步骤: ⑥ 程序实现
  • 依赖: P-008 交互系统技术设计审查通过(Issue #19,已关闭)

预期产出

基于技术设计文档,实现交互系统全部功能。

技术设计文档: docs/technical/交互系统-技术方案.md

文件结构:

  • 新增: Source/ChildHood/Interaction/InteractionTypes.h — 枚举、结构体、委托定义
  • 新增: Source/ChildHood/Interaction/InteractionManager.h/.cpp — 交互状态机核心组件
  • 新增: Source/ChildHood/Interaction/InteractableComponent.h/.cpp — 可交互物组件(数据+检测)
  • 新增: Source/ChildHood/Interaction/InteractableActor.h/.cpp — 通用交互物 Actor 基类
  • 新增: Source/ChildHood/Interaction/PushCameraActor.h/.cpp — 推镜用临时摄像机
  • 修改: Source/ChildHood/ChildHoodCharacter.h/.cpp — 添加交互支持
  • 修改: Source/ChildHood/ChildHoodPlayerController.h/.cpp — 添加交互输入绑定
  • 新增: 3 个 InputAction + IMC 映射 + 3 个 UMG Widget + 1 个 Actor BP

实现子任务(按技术设计文档拆分)

子任务 内容 预估时间 依赖 验证方式
6a InteractionTypes.h 枚举/结构体/委托 + InteractableComponent 基础结构 0.5 天 无 编译通过
6b USphereComponent 检测 + FInteractableData + Register/Unregister + AInteractableActor + BP_Interactable 1 天 6a PIE 中放置交互物,走近时控制台输出检测日志
6c 状态机 + 检测列表排序 + 选中管理 + Character 集成 + InputAction 绑定 1.5 天 6a, 6b PIE 走近交互物,日志显示选中切换
6d WBP_InteractionPrompt + 屏幕投影定位 + 淡入淡出 0.5 天 6c PIE 走近交互物看到提示,走近另一个时切换
6e TickEnterPhase + APushCameraActor + SetViewTargetWithBlend 1 天 6c PIE 按 E 后角色转向 + 相机推近
6f 四种类型完整流程 + Timer/Montage 动画 + 动画事件 1.5 天 6e PIE 验证四种交互类型各自完整流程
6g WBP_NarrativeText + ShowText/HideText + 相机回位 0.5 天 6f PIE 观察类完整流程
6h OnItemPickedUp/OnItemFound 委托 + 10 个交互物场景验证 0.5 天 6g 按探索路线跑完全部交互物

关键路径:6a → 6b → 6c → 6e → 6f → 6g → 6h(约 5.5 天)。6d 可在 6c 后并行。

注意事项

  • v0.1 可能缺少动画资产,需支持 Timer 模拟动画(AnimDuration 配置时长)
  • 6h 中的 OnItemPickedUp/OnItemFound 委托是收集系统(P-013)的前置依赖
  • 完成后通知 PM 执行 ⑥ 程序实现质量门审查
## 任务信息 - **任务ID**: P-012 - **所属版本**: v0.1 - **角色**: 程序 - **流水线步骤**: ⑥ 程序实现 - **依赖**: P-008 交互系统技术设计审查通过(Issue #19,已关闭) ## 预期产出 基于技术设计文档,实现交互系统全部功能。 **技术设计文档**: `docs/technical/交互系统-技术方案.md` **文件结构**: - 新增: `Source/ChildHood/Interaction/InteractionTypes.h` — 枚举、结构体、委托定义 - 新增: `Source/ChildHood/Interaction/InteractionManager.h/.cpp` — 交互状态机核心组件 - 新增: `Source/ChildHood/Interaction/InteractableComponent.h/.cpp` — 可交互物组件(数据+检测) - 新增: `Source/ChildHood/Interaction/InteractableActor.h/.cpp` — 通用交互物 Actor 基类 - 新增: `Source/ChildHood/Interaction/PushCameraActor.h/.cpp` — 推镜用临时摄像机 - 修改: `Source/ChildHood/ChildHoodCharacter.h/.cpp` — 添加交互支持 - 修改: `Source/ChildHood/ChildHoodPlayerController.h/.cpp` — 添加交互输入绑定 - 新增: 3 个 InputAction + IMC 映射 + 3 个 UMG Widget + 1 个 Actor BP ## 实现子任务(按技术设计文档拆分) | 子任务 | 内容 | 预估时间 | 依赖 | 验证方式 | |--------|------|---------|------|---------| | 6a | InteractionTypes.h 枚举/结构体/委托 + InteractableComponent 基础结构 | 0.5 天 | 无 | 编译通过 | | 6b | USphereComponent 检测 + FInteractableData + Register/Unregister + AInteractableActor + BP_Interactable | 1 天 | 6a | PIE 中放置交互物,走近时控制台输出检测日志 | | 6c | 状态机 + 检测列表排序 + 选中管理 + Character 集成 + InputAction 绑定 | 1.5 天 | 6a, 6b | PIE 走近交互物,日志显示选中切换 | | 6d | WBP_InteractionPrompt + 屏幕投影定位 + 淡入淡出 | 0.5 天 | 6c | PIE 走近交互物看到提示,走近另一个时切换 | | 6e | TickEnterPhase + APushCameraActor + SetViewTargetWithBlend | 1 天 | 6c | PIE 按 E 后角色转向 + 相机推近 | | 6f | 四种类型完整流程 + Timer/Montage 动画 + 动画事件 | 1.5 天 | 6e | PIE 验证四种交互类型各自完整流程 | | 6g | WBP_NarrativeText + ShowText/HideText + 相机回位 | 0.5 天 | 6f | PIE 观察类完整流程 | | 6h | OnItemPickedUp/OnItemFound 委托 + 10 个交互物场景验证 | 0.5 天 | 6g | 按探索路线跑完全部交互物 | **关键路径**:6a → 6b → 6c → 6e → 6f → 6g → 6h(约 5.5 天)。6d 可在 6c 后并行。 ## 注意事项 - v0.1 可能缺少动画资产,需支持 Timer 模拟动画(AnimDuration 配置时长) - 6h 中的 OnItemPickedUp/OnItemFound 委托是收集系统(P-013)的前置依赖 - 完成后通知 PM 执行 ⑥ 程序实现质量门审查
Ghost added this to the v0.1-基础交互 milestone 2026-06-11 00:34:31 +08:00
Ghost added the status:readypipeline:6-implrole:devstage:iteration labels 2026-06-11 00:34:31 +08:00
Ghost added a new dependency 2026-06-11 00:34:56 +08:00
Ghost added status:in-review and removed status:ready labels 2026-06-12 17:31:01 +08:00
Ghost added status:in-progress and removed status:in-review labels 2026-06-12 17:37:43 +08:00
Ghost added status:blockedreview:fail and removed status:in-progress labels 2026-06-12 17:39:08 +08:00
Ghost added status:in-review and removed status:blockedreview:fail labels 2026-06-12 18:02:58 +08:00
Ghost added status:blockedreview:fail and removed status:in-review labels 2026-06-12 18:06:22 +08:00
Ghost added status:in-review and removed status:blockedreview:fail labels 2026-06-14 23:52:13 +08:00
Ghost added review:pass and removed status:in-review labels 2026-06-14 23:56:21 +08:00
Ghost closed this issue 2026-06-15 00:08:48 +08:00
Ghost removed a dependency 2026-06-15 00:09:49 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: starmen1265/ChildHood#32