2017-10-28 239 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