我正在使用The Foundry的Nuke构建一个插件,模仿Maya的动画约束行为。我有一个父对象、一个子对象,以及点、方向、目标、父级约束的选项。这些都运作得相当不错,然而我目前最大的问题是目标约束。
一些背景: 使用Nuke的Matrix4类。 值得注意的是,该矩阵是一个4x4的矩阵,其中第一行到第三行的前3列应用于旋转/缩放,第一行到第三行的最后一列是平移(X,Y,Z)。
一些背景: 使用Nuke的Matrix4类。 值得注意的是,该矩阵是一个4x4的矩阵,其中第一行到第三行的前3列应用于旋转/缩放,第一行到第三行的最后一列是平移(X,Y,Z)。
在Vector3类中, 我正在获取源位置和目标位置。目标-源= ST 然后我设置一个Y平面(一个倒置,一个不是) 然后我得到我的ST点和Y平面的叉积,然后再得到我的ST和倒置的Y平面的叉积。(当父对象在子对象后面时要反转它) 然后我得到我的ST和my ST.cross(y_plane)结果的叉积。
瞄准约束实际上运作良好,但当父对象处于某些位置时,我的相机(子对象)会产生很多Z旋转。我想能够避免这种Z旋转。有人知道如何做吗?