1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>>No.13099
先說以下內容我沒有驗證過是不是對的但是感覺應該可以行

首先我們有的資訊是
lastPos / nowPos / lastRotation / nowRotation

所以這兩個frame之間的位移是nowPos - lastPos, 我們把這個東西寫作dV
並且我們可以利用lastRoatation來分別取得對於上一個frame的時候的forward、up跟right的向量
(也就是lastRoatation * Vector3.forward/up/right)
這三個向量我們用Vf/Vu/Vr來表示
而三個軸的相對位移量我們表示成Cf/Cu/Cr

則上一個frame的位移可以被表示成這樣的線性組合
Cf * Vf + Cu * Vu + Cr * Vr = dv

接下來要做的事情就是解這方程式
這邊可以考慮用高斯法或者之類的東西來解
考慮到結果一定是位移出的結果,應該不會有無解的情況
你應該就可以求得你要找的Cf、Cu跟Cr分別的值是多少了
表示回相對位移的話應該會是Vector3(Cr, Cu, Cf)的形式

當然就像我前面說的,我也不確定這個思路對不對
但我感覺應該沒有問題,你可以試試看