精華區beta GameDesign 關於我們 聯絡資訊
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.131
eliang:抱歉,我忘了說,我的坐標系的Y軸是上下方向 01/28 17:02
eliang:所以我希望滑鼠橫向移動時,攝影機是繞著世界Y軸旋轉 01/28 17:03
OK, 你需要的只是極坐標轉換而己。 設物體位於原點、攝影機距離物體 r,定義一個極坐標如圖: http://cmlab.csie.org/~littleshan/tmp/polar.png
讓滑鼠橫向移動時改變 phi、縱向移動時改變 theta, 這麼一來攝影機就會繞著 Y 軸旋轉。 依照這個極作標可以得出攝影機的位置 P: Px = sin(theta) * sin(phi) * r Py = cos(theta) * r Pz = sin(theta) * cos(phi) * r 然後攝影機永遠面向物體 (位於原點),有了這些資訊以後, 套上 look-at transform 就可以得到攝影機的 transform matrix。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.131
eliang:感謝! 我寫出來了 01/29 14:19