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)的形式 當然就像我前面說的,我也不確定這個思路對不對 但我感覺應該沒有問題,你可以試試看 |
Direct link: https://paste.plurk.com/show/2593128