## 阶段技术需求 & 实现目标 ### 第零阶段(快速简历可供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