我有一个带摄像头和另一个物体的场景:3D角色模型。
使用来自姿势估计算法的方向信息(用于平移的vec3和用于旋转的vec4四元数),我的相机的变换正在被转换并旋转以聚焦于此角色,即(0) ,0,0)和0旋转。这项工作正确而准确,但我希望“反向”。这些值使得我用输入影响角色对象,将摄像机置于0,0,0而旋转0圈。
我觉得我应该围绕原点旋转提供的相机变换矩阵来创建 myObjectTransform ,然后将相机值归零并简单地应用 myObjectTransform 作为变换角色对象。但是,如果我这样做,我的输入翻译和旋转值不会像我一样影响场景 - 旋转似乎走向错误的方向,甚至翻译位置似乎也没有。
这听起来应该很容易,但我显然遗漏了一些东西。有人可以帮忙吗?
答案 0 :(得分:0)
我使用SCNMatrix4Invert解决了这个问题 - 相机矩阵的反转正是我想要的。但是,我忘记了我在初始给定的平移和旋转时施加了180度的额外X旋转。
所以我的过程虽然有些不整洁,却是: