Unreal 动捕设备“校准” 个人思考
2019-11-24 本文已影响0人
Mr_约科
1. 目前的校准,点击 “ Calibrate ” 后,做了哪些操作?
VRPN 数据源 | 数字人体 |
---|---|
T · Δα = T ` | Tcs = Tcs · T的逆 · T ` |
Δα = T的逆 · T ` |
零姿 T 和 Tcs 都是在校准的那一刻,通过计算保留下的数据(全局坐标)。
2. 在进行坐标变换的时候,为什么是计算的 逆 ,而不是直接进行的 乘以矩阵?
直接乘以矩阵的前提是,变换前与变换后的坐标是已知的。并且旋转是简单的矩阵旋转,而在UE中,Rotation为欧拉角。
3. Pose 的 Set 与 FReferenceSkeleton 的 Get
都是相对于父节点的 局部坐标。并且在Editor下,Rotation 显示的为欧拉角,所以并不是(0,0,0)。
4. 如何测试?继续用ART数据源,调试不太友好。
5. 如果想要把从VRPN传来的数据源数据 直接给 数字人体的 关节全局坐标?
有一个前提是:两个 零姿的 全部关节 全局坐标 一致。
(1)自己的思路
计算出两个 零姿 差异的 之间的变换 ,以至于每进入一个VRPN数据源,就进行此变换。
Error:本身就存在问题,数字人体 永远不会和用户的 Pose一致。
6. 校准时,自定义 零姿 是 T-Pose 而 数据源 零姿 是 N-Pose, 会出现什么结果?
放下胳膊 = 抬起胳膊
抬起胳膊 = 举起胳膊
7.在数据源这端,是没有 “零姿”的,所谓的这个姿势,是在校准的时候,摆出的Pose。
8. 如果有官方模型的情况下,如何读取 T-Pose 的Pose文件,如何拿到这个姿势的文件呢?
产商。如果拿到的话,也就是 从以前的 点击 校准按钮 获取 数据源零姿, 变成现在的 读取 零姿文件。