点左右旋转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));
它不工作,对象被完全以扭曲的,任何人都可以给我一个提示,我在做什么错?
答
它可以通过将您的对象添加到父容器来解决。然后将 移动到适当的位置:appendTranslation(10,10,10),然后将旋转应用于父容器:appendRotation(_Y,Vector3D.Y_AXIS)。
我就是这么做的,为了避免这个问题,但为什么它不按照它应该的方式工作呢? – danielkotzer
我无法给出解释。当我们尝试将位置和旋转变换应用到对象matrix3d时,我感觉出现了这个问题。 – stesel