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

95 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. 实现内容:编写插件实现对应的数据接收节点。
## 任务分配
1. 楼嘉杰搭建基础原型
2. Electron的UI美化&细化 => 前端
1. 搭建基础Electron的VUE模板。
2. 将项目传到公司Gitlab平台上。
3. 插件配套场景搭建 =>杨萱羽
1. 从EOE场景里扣一个像直播舞台的场景。
2.
## 存在问题
- [x] ~~渲染机是否需要传递数据到导播台(渲染机干预导播台的一些行为)?~~
- [x] 导播台除了文字、音频还有哪些数据会传递到AI端
- 目前只有文字
- [x] ChatGPT会过期。ChatGPT账号池已经完成开发时可以手动续费。
# 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缓存方案所用的文件服务器。
- 文件上传功能(语音数据)。
- * 实现 **动画数据**推流功能。
使用其他框架?
- https://github.com/node-pinus/pinus
#### 现阶段问题:
我需要知道:
1. 玩家发送文字信息后,虚拟角色是否会发出语音?
2. AI如何对虚拟角色行为树进行迭代仅仅是迭代行为树中的某一个行为么
3. 如何针对某一个演员的指定行为进行迭代?录制一定的演员表演动作动画数据进行迭代?
### 第二阶段使用借助AI配合UE动画系统迭代动画效果
需求功能(优先&难易度排序):
1. 构建一个可以不断热更、优化AI系统迭代动画资产的动画框架。
1. MotionMarching
2. Motion匹配。
2. 游戏性提升。
# 其他资料
- Node-Pinus游戏服务器框架:https://github.com/node-pinus/pinus
- 案例:https://github.com/node-pinus/pinus/tree/master/examples/simple-example
- Pomelo的wiki:https://github.com/NetEase/pomelo/wiki/Home-in-Chinese
- Nodejs RPC:https://zhuanlan.zhihu.com/p/598460945