【发布时间】:2012-11-02 19:14:46
【问题描述】:
我有以下问题。我有一个带有 lookAt 方法的相机,它工作正常。我有一个父节点,我将相机作为父节点。如果我在旋转父节点的同时保持相机 lookAt 目标,相机 lookAt 会发生变化太。这也不是我想要实现的。当您将相机作为空对象的父相机时,我需要它像在 Adobe AE 中一样工作:当空对象旋转时,相机开始围绕目标旋转,同时仍然看着目标。我是什么目前做的是将父模型矩阵与从lookAt()方法计算的相机模型矩阵相乘。我确定我需要在将它们相乘之前分解(或重构)其中一个矩阵。父模型或相机模型?这里的任何人都可以展示正确的做法吗?
更新:父节点只是一个节点。子节点是相机。AfterEffects 中的父相机的工作方式如下:如果在相机看着目标时旋转父节点,相机实际上开始围绕目标围绕目标旋转父旋转。在我的情况下,父旋转也会改变相机的外观方向,这不是我想要的。希望现在很清楚。 更新1: 我使用 GL 4.0 ,没有固定的管道,我所有的数学都是手动完成的。
【问题讨论】:
标签: math opengl camera rotation