Re: [程式] 遊戲數學:Sterp - 物件旋轉擺扭解構
※ 引述《cjcat2266 (CJ Cat)》之銘言:
: 最近在看一個GDC影片的時候講者提到
: 旋轉的 "擺扭解構" (swing-twist decomposition)
: 只是一語帶過,但勾起了我的好奇心,所以就開始研究
: 研究後覺得算蠻有用的工具,所以就寫了一篇文來整理和分享心得
: 一般從一個旋轉漸變到另外一個旋轉
: 是用球線性內插 (slerp, spherical linear interpolation)
: 數學上的意義是,代表旋轉的四元數沿著4D球體表面的最短大圓路徑移動
: 雖然在4D定義上是"最短路徑",不過在某些情況下,slerp的效果不是最理想的
: 例如一個長竿在slerp的時候,兩端視覺上並不是沿著3D球體表面的最短大圓路徑
: 理想上兩端應該要沿著大圓路徑"擺動" (swing),然後本身沿著長軸"扭動" (twist)
: 這個時候就需要用擺扭解構把旋轉分成擺動和扭動兩個部分
: 後兩部分各自內插後再組合,就可以達到理想的效果
: 詳細解釋(含插圖動畫)、推導、Unity中的實作和證明,請見:
: http://allenchou.net/2018/05/game-math-swing-twist-interpolation-sterp/
:
好棒。好久沒在想quaternion的東東,雖然還是在用。
nlerp不知你聽過嗎?
http://number-none.com/product/Understanding%20Slerp,%20Then%20Not%20Using%20It/
遊戲上來講,其實比較好用。nlerp是commutative,也cheaper to compute.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.146.94
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1536055935.A.2E0.html
推
09/05 00:27,
5年前
, 1F
09/05 00:27, 1F
好棒。可惜厲害的人才都必須離開台灣。
推
09/05 15:32,
5年前
, 2F
09/05 15:32, 2F
→
09/05 15:35,
5年前
, 3F
09/05 15:35, 3F
→
09/05 15:35,
5年前
, 4F
09/05 15:35, 4F
台灣還是有神人
推
09/06 02:39,
5年前
, 5F
09/06 02:39, 5F
謝謝,之前不太確定lerp就是nlerp,沒研究遊戲engine太久了。
不過還是Jonathan Blow解釋清楚。google "lerp vs slerp"那個unity forum看了,沒講到重點。
※ 編輯: oopFoo (36.231.129.217), 09/06/2018 10:40:24
推
09/06 13:32,
5年前
, 6F
09/06 13:32, 6F
推
09/15 00:14,
5年前
, 7F
09/15 00:14, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):