BlueRoseNote/01-Diary/周小结/2023.8.21工作进度汇报.md

35 lines
2.7 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.

- [x] Qt6.5开发环境部署。先使用源码编译版但发现对VS的支持不好后使用网络在线安装版解决问题。
- [x] 在Qt项目中接入FBX SDK。查询网上所有资料尝试结果接不如人意。之后仔细阅读FBX SDK文档后又经过几小时的尝试后成功接入FBX SDK。原因与openCV之类的库不同FBX SDK需要添加额外参数才能正确接入且存在动态库、MD静态库、MT静态库3种形式因此花费时间较大。
- [x] FBX SDK 代码与案例学习。
- [x] 理解FBX SDK的动画数据读取/创建方式、Skeleton的关系、在FBX文件中的存储方式与节点形式。
- [x] 孙同学&张峰&张渤林讨论UE 重定向服务部署
- [x] 萱羽AI陪伴相关工作规划与安排
- [ ] UE重定向算法搬运
## AI陪伴
1. 资源修正。需要一个虚幻骨骼可以跑的EOE角色资源。
1. 因为时间有限先使用UE5实时重定向代替之后考虑在服务端使用**楼嘉杰**编写的重定向动态链接库进行重定向后再发送。
2. 修改EOE为UE5 小灰人骨骼需要绑定师大致 时间。PS. 因为田博文生病请假,下周一再问。
2. 状态机中实现角色的各个状态切换同时可以接受AI流数据以及服务器切换。
1. 使用LogicDriver对各个状态动画蓝图除外进行控制通过调用函数的方式间接控制动画蓝图。2~3个预制状态1个推流状态
1. 接受推流数据状态
2. 播放推流数据状态
3. 结束状态(播放过渡动画)
2. ***使用动画蓝图切换动画以及存储UAnimSequence的引用。这个问题可以转变成如何Runtime构造一个UAnimSequence。推流与FBX文件可以考虑使用Node的FBX结系库来解析Ascii FBX之后创建UAnimSequence并且在AnimGraph中使用SequencePlayer的绑定模式进行实时插入。***
3. 使用Puerts进行控制。
3. 对接TTS定制接口来接收音频数据。流或者文件
1. 使用Puerts实现逻辑与上一条相似。
4. 聊天接口。
1. 使用Puerts实现接受与发送按钮绑定Puerts里创建事件就好。
![](https://raw.githubusercontent.com/blueroseslol/ImageBag/e7f50af2f04aad286bd4e33b1a7782ea81fcb646/ImageBag/RuntimeModifyAnimSequence.png)
萱羽
1. ~~绘制一张状态机的图。~~
2. 下载git fork客户端。https://git-fork.com/
3. 学习LogicDriver。最好看一下c++的案例。
4. 使用LogicDriver搭建Demo。
5. ~~部署TypeScript开发环境安装Nodejs 20.5.0、TypeScript模块、VSCode TypeScript插件。~~
## FBX TO UAnimSequence
UAnimSequence * UEditorEngine::ImportFbxAnimation( USkeleton* Skeleton, UObject* Outer, UFbxAnimSequenceImportData* TemplateImportData, const TCHAR* InFilename, const TCHAR* AnimName, bool bImportMorphTracks )