3

所以我在 Nuke 中构建了一个插件(来自 The Foundry),它将模仿 Maya 的动画约束行为。我有一个父母,一个孩子,然后是点、方向、目标、父母约束的选项。这一切都很好,但是我目前最大的问题是目标约束。

一些背景知识:使用 Nuke Matrix4 类 值得注意的是,这个矩阵是一个 4x4,其中前 3 行的前 3 列适用于旋转/缩放,前 3 行的最后一列是平移(X,Y, Z)

Vector3 类中 ,我得到源和目标位置。目标源 = ST 然后我设置一个 Y 平面(一个倒置,一个不倒置)然后我得到我的 ST 点和 Y 平面的交叉积,然后是我的 ST 和倒置 Y 平面的另一个叉积。(当父母在孩子身后反转它时)然后我得到我的 ST 的叉积和我的 ST.cross(y_plane) 的结果

目标约束实际上效果很好,但是当父母处于某些位置时,我的相机(孩子)会发生很多 Z 旋转。我希望能够避免这种 Z 旋转。有人会碰巧知道该怎么做吗?

4

1 回答 1

1

如果您正在模拟 Maya 的约束系统,Maya 通过 处理 Z 旋转up vector,这会调整您的 Z 旋转以与以下五个选项之一对齐:

  • scene up将相机顶部对准+Y
  • object up将相机顶部对准第三个物体
  • object rotation up将相机的 Z 旋转与XYZ第三个对象的旋转相匹配
  • vector将相机顶部对准该矢量
  • none不要试图用任何东西来定位相机的顶部。这一定是你目前所拥有的。

此外,还有一个up vector定义什么是“相机顶部”,就像aim vector定义相机应该指向的位置一样。

于 2015-05-28T16:16:21.350 回答