Files
planet/docs/ue_todo.md

3.7 KiB
Raw Blame History

UE5 客户端 — 待供应商回复的 TODO

以下两个问题答复后,对应代码可在一天内完成。 其余所有代码均已写好,不依赖这两个答案。


TODO-1视频处理器输入格式

等待信息LED 屏配套视频处理器(如诺瓦星云)接受什么 3D 信号格式?

可能答案 对应操作
Side-by-Side左右并排 StereoRenderingManager.cppEnableStereoSideBySide 分支已写好,直接启用
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.uprojectPlugins 数组添加插件条目(Enabled: true
    • PlanetClient.Build.csPublicDependencyModuleNames 加插件模块名
  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