如何使物體繞其軸旋轉?即讓月亮在0,0,0點和它自己的軸周圍旋轉?到目前爲止,我只能通過使用遊戲時間組件並創建旋轉矩陣來完成點0,0,0點。xna讓物體繞着ITS軸移動(不在點0,0,0附近)
2
A
回答
2
將對象的中心轉置爲(0,0,0),執行旋轉並轉回。
1
比方說,我們有以下幾點:
class 2DMoon
{
Texture2D texture;
Vector2 axis;
Vector2 origin;
}
原點可以是(0,0),但是讓我們說這是更復雜的東西 - 像(29,43)。現在讓我們假設紋理的寬度爲50,高度爲90.假設你想要中心,你可以做以下操作(假設原點(即電流)位置)和紋理加載):
axis.X =(.5 * texture.Width); axis.Y =(.5 * texture.Height);
如您所知,這將使軸成爲(25,45)的向量。上述
由於BlueRaja狀態,那麼你可以做看起來像這樣的方法:
Rotate()
{
origin.X -= axis.X;
origin.Y -= axis.Y;
// rotation goes here
origin.X += axis.X;
origin.Y += axis.y;
}
這應該任何一種標準紋理的工作。 (當然,你不必有Vector2我提出了所謂的「軸」 - 它只是爲了便於參考
現在,採取同樣的邏輯,並將其應用在3D
。一個忠告:如果你正在嘗試通過3D邏輯工作,首先看2D中的邏輯,10次中有9次,你會發現你正在尋找的答案!
(如果我在我的Rotate()方法中進行換位時出現任何錯誤,請告訴我 - 我在哪裏感到疲倦,而且我沒有測試它,但輪換應該像那樣工作,不是嗎?)
相關問題
- 1. XNA相機繞着Z軸
- 2. 如何在將物體繞其自身軸旋轉的同時移動物體?
- 3. 在PDF打開附着物從移動
- 4. 圍繞軸旋轉物體
- 5. 圍繞世界0,0,0而不是物體中心旋轉
- 6. 物體不能繞其軸線旋轉
- 7. 如何讓物體移動?
- 8. 如何顆粒附着到移動物體
- 9. Xna繞世界軸旋轉?
- 10. xna攝像頭跟隨2軸物體?
- 11. 圍繞傾斜軸旋轉物體
- 12. 如何讓點沿着矢量移動?
- 13. XNA - 隨相機移動的物體和不移動的物體之間的相互作用
- 14. 對象不繞樞軸點
- 15. 圍繞特定點旋轉(例如,圍繞0,0,0旋轉)
- 16. 移動物體
- 17. NH3.3和附着分離物體
- 18. pygame物體不會移動
- 19. 圍繞樞軸點旋轉剛體
- 20. Unity3D OnDrag移動3D物體不會跟着指針
- 21. PouchDB和附着物
- 22. 如何將軸標籤移動到matplotlib中的箭頭附近
- 23. 移動遊戲物體隨着時間的推移
- 24. 圍繞點xna旋轉2D
- 25. 讓Texture2D在用XNA點擊鼠標的方向移動?
- 26. PYGAME移動一個物體,同時讓其他人移動
- 27. XNA圍繞樞軸點旋轉多個對象
- 28. 如何讓物體推進的拋射物向Unity3d中的特定點移動?
- 29. Java圍繞中心點旋轉物體?
- 30. 有沒有物體繞矢量點