所以我在Nuke(来自The Foundry)中构建一个插件,它将模仿Maya的动画约束行为。我有一个父母,一个孩子,然后选择点,方向,目标,父约束。这一切都运作良好,但我目前最大的问题是Aim约束。
一些背景: 使用Nuke Matrix4 class 值得注意的是,这个矩阵是4x4,其中前3行的前3列适用于旋转/比例,前3行的最后一列是平移(X,Y,Z)
Vector3 classes中的我得到了源头和目标位置。 Target-source = ST 然后我设置一个Y平面(一个倒,一个不) 然后我得到了我的ST点和Y平面的corss乘积,然后我的ST和倒Y平面的另一个交叉积。 (当父母在孩子身后倒置时) 然后我得到了我的ST和我的ST.cross(y_plane)
的结果目标约束实际上效果很好,但是当父级处于某些位置时,我在相机(孩子)中获得了很多Z旋转。我希望能够避免这种Z旋转。有人会碰巧知道怎么做吗?
答案 0 :(得分:1)
如果您正在模拟Maya的约束系统,Maya会通过up vector
处理Z旋转,这会调整Z旋转以与五个选项中的一个对齐:
scene up
将相机的顶部对准+Y
object up
将相机的顶部对准第三个物体object rotation up
将相机的Z旋转与第三个对象的XYZ
旋转相匹配vector
将相机的顶部对准那个载体none
没有尝试用任何东西定位相机的顶部。这必须是你目前所拥有的。此外,还有一个up vector
,它定义了相机的顶部和#34;就像aim vector
定义相机应指向的位置一样。