BlueRoseNote/02-Note/DAWA/AI偶像陪伴项目/AI虚拟偶像陪伴 & AI虚拟直播间 开发计划与阶段目标.md

3.7 KiB
Raw Blame History

AI虚拟直播间需求&任务整理

实现目标&内容&工期

拿给EOE老板看的Demo版本

  1. 控制AI行为以及数据交互的导播台应用Electron + Server
    1. 实现目标
      1. =>AI服务器
        1. 能够发送文字、语音数据以及其他指令到AI服务器。
        2. 能够接收文字、音频、CSV、FBX数据。
      2. =>渲染机器
        1. 能够转发音频、CSV、FBX数据到渲染机中。
    2. 实现内容基础Electron用户界面以及对应的Server第一版放在一起后续分离工期 2周左右。
      1. 转发数据逻辑
      2. 用户界面
    3. 未来TODO
      1. 自定VMC协议用来传输音频等其他数据
  2. 渲染机UE插件
    1. 导播台应用=>
      1. 制作角色蓝图、动画蓝图以及状态机可以播放音频、CSV、FBX。
      2. 接收导播台AI服务器的控制指令
    2. 实现内容:编写插件实现对应的数据接收节点。

状态机相关

AI虚拟偶像陪伴

阶段技术需求 & 实现目标

第零阶段快速简历可供AI迭代的基础程序

  1. Express Http服务器。
    1. 提供静态文件下载服务。
    2. 建立一个获取所有Uasset文件的url。
  2. UE客户端
    1. 动画蓝图中建立多个子AnimGraph使用动态方式挂载。

第一阶段(建立高可用、迭代性的基础架构)

需求功能(优先&难易度排序):

  1. 资产 & 逻辑脚本热更新逻辑 => Puerts热更新逻辑。
  2. 客户端发送文字信息给服务端。=> 构建一个Http聊天服务器。
  3. 服务端控制虚拟角色行为 => RPC事件同步 Http服务器WebSocket连接Puerts间接控制方案。后续可能需要改成帧同步方案
  4. 客户端在动画蓝图中实时混合新下载动画资产
  5. 客户端在动画蓝图中实时混合实时推流动画数据,以及播放AI生成语音

技术细节

  • 客户端:
    • 使用Puerts控制逻辑。
    • 使用Puerts热更新逻辑 & 资产。
    • 使用下载Pak重启后批量读取方案。
    • 使用ModuleGameFeature框架进行网络缓存的方案。堡垒之夜目前使用
    • 使用Puerts宿主环境Nodejs构建Http服务以此与服务端通信。优点是不会卡住游戏线程
      • IOS得进行测试是否可以使用这个方案。
      • 实现 动画数据推流功能。
  • 服务端:客户端同步采用事件同步 + 缓存动画数据的方式实现
    • Demo期间使用Nodejs进行打底。采用Nodejs + Express搭建后台管理页面采用VUE3。
    • 序列化使用 Protobuf
    • RPC协议gRPC ?
    • Http聊天服务器。
    • 账号权限判断。
    • Pak文件 / ModuleGameFeature缓存方案所用的文件服务器。
    • 文件上传功能(语音数据)。
      • 实现 动画数据推流功能。

使用其他框架?

现阶段问题:

我需要知道:

  1. 玩家发送文字信息后,虚拟角色是否会发出语音?
  2. AI如何对虚拟角色行为树进行迭代仅仅是迭代行为树中的某一个行为么
  3. 如何针对某一个演员的指定行为进行迭代?录制一定的演员表演动作动画数据进行迭代?

第二阶段使用借助AI配合UE动画系统迭代动画效果

需求功能(优先&难易度排序):

  1. 构建一个可以不断热更、优化AI系统迭代动画资产的动画框架。
    1. MotionMarching
    2. Motion匹配。
  2. 游戏性提升。

其他资料