Nuke - Matrix4相机约束锁定Z旋转
Nuke - Matrix4 camera constraint lock Z rotation
所以我建立一个插件在Nuke(从铸造),将模仿玛雅的动画约束行为。我有一个父节点,一个子节点,然后是点,方向,目标,父节点约束。这一切都工作得很好,但我目前最大的问题是Aim约束。
一些背景:使用Nuke Matrix4类值得注意的是,这个矩阵是4x4的,其中前3行的前3列适用于旋转/缩放,前3行的最后一列是平移(X,Y,Z)
在Vector3类我正在获取信号源和目标位置。目标-源= ST然后我建立一个Y平面(一个倒着,一个不是)然后我得到ST点和Y平面的外积,然后是另一个ST点和倒Y平面的外积。(当父母在孩子的后面翻转它时)然后我得到ST的叉乘和ST叉乘(y_plane)的结果
瞄准约束实际上工作得很好,但当父母在某些位置时,我的相机(孩子)会有很多Z轴旋转。我想避免这个Z轴旋转。有人知道怎么做吗?
如果你正在模拟Maya的约束系统,Maya通过up vector
处理Z旋转,它调整你的Z旋转以与五个选项之一对齐:
-
scene up
将相机的顶部对准+Y
-
object up
将相机的顶部对准第三个物体 -
object rotation up
将相机的Z轴旋转与第三个物体的XYZ
旋转相匹配 -
vector
将相机顶部对准矢量 -
none
不试图用任何东西来定位相机的顶部。
此外,还有一个up vector
,它定义了什么是"相机的顶部",就像aim vector
定义了相机应该指向的位置。
相关文章:
- 与互斥锁相比,旋转锁可以保证上下文切换
- 如何找到锁定Linux futex的C++行
- G锁定铸造到基础上会释放模拟行为
- 绘制旋转的三角形
- 如何检查线程是否锁定
- 旋转模型矩阵时的形状失真
- 四边形的 2D 旋转
- 如何在C++中找到active directory中禁用和锁定的窗口帐户
- 我应该在锁定TBitmap画布后解锁它吗
- 垂直方向的 Gtk3+ 旋转按钮 (c/c++)
- 发布旋转矩阵(openGL/glm)
- 顺时针迭代旋转 3 位数字
- 形状对象的旋转和缩放不正确C++
- 如何在 OpenSceneGraph 中缩放/旋转/移动资产
- 如何有效地计算将单位立方体映射到自身的反射和旋转?
- 子轴围绕父轴而不是他自己的轴旋转
- 将使用太多的纹理插值器 - 带旋转的着色器
- C++ 11 中的锁定是否保证访问数据的新鲜度?
- 在两个线程上读/写 64 位,无互斥/锁定/原子
- Nuke - Matrix4相机约束锁定Z旋转