2017-10-28 238 views
-1

我用點左右旋轉AS3 3D物體在空間

appendRotation(_Y, Vector3D.Y_AXIS); 

旋轉圍繞其中心的對象。工作正常。

,當我想讓物體周圍場景的中心旋轉,我用

prependRotation(_Y, Vector3D.Y_AXIS , new Vector3D(0, 0, 0)); 

工作正常。

,但如果我想在太空中圍繞某一點旋轉的物體,像這樣:

prependRotation(_Y, Vector3D.Y_AXIS , new Vector3D(10, 10, 10)); 

它不工作,對象被完全以扭曲的,任何人都可以給我一個提示,我在做什麼錯?

回答

0

它可以通過將您的對象添加到父容器來解決。然後將 移動到適當的位置:appendTranslation(10,10,10),然後將旋轉應用於父容器:appendRotation(_Y,Vector3D.Y_AXIS)。

+0

我就是這麼做的,爲了避免這個問題,但爲什麼它不按照它應該的方式工作呢? – danielkotzer

+0

我無法給出解釋。當我們嘗試將位置和旋轉變換應用到對象matrix3d時,我感覺出現了這個問題。 – stesel