Ios 看看照相机的方法?非SCNLookAtConstraint

Ios 看看照相机的方法?非SCNLookAtConstraint,ios,3d,camera,scenekit,scnnode,Ios,3d,Camera,Scenekit,Scnnode,我知道SceneKit中存在SCNLookAtConstraint。然而,这种方法不是我想要的 我需要的是能够在任何给定时刻将相机指向空间中的一个点(不是节点) 在世界坐标系中有一个X,Y,Z,我需要相机旋转,使它指向这个点 这些点会随着时间的推移而改变(这意味着不同的点被传递给一个方法,我需要从一个点“跳”到另一个点) 我宁愿跳过计算eulerAngles,我看到的一些解决方案是基于三角函数和分母中的cos(角度)。用户基本上可以通过拖动cameraNode自由旋转 在SceneKit中,我缺

我知道SceneKit中存在SCNLookAtConstraint。然而,这种方法不是我想要的

我需要的是能够在任何给定时刻将相机指向空间中的一个点(不是节点)

在世界坐标系中有一个X,Y,Z,我需要相机旋转,使它指向这个点

这些点会随着时间的推移而改变(这意味着不同的点被传递给一个方法,我需要从一个点“跳”到另一个点)

我宁愿跳过计算eulerAngles,我看到的一些解决方案是基于三角函数和分母中的cos(角度)。用户基本上可以通过拖动cameraNode自由旋转


在SceneKit中,我缺少任何方法吗?

在我看来,使用节点作为目标是最简单的方法。如果您创建一个空节点(没有几何体、相机或灯光),它将不可见,并且您将能够使用框架提供的最高可用抽象。通过动画或突然跳跃,将节点从一点移动到另一点。

此处可能会特别关注
GLKMatrix4
方法

给定一个眼睛位置(摄像头)、一个您希望查看的位置和一个上方向向量,您将能够创建一个变换矩阵(作为
GLKMatrix4
)。然后,SceneKit函数从GLKMATRIX4
SCNMatrix4
将其转换为
SCNMatrix4
,您可以将其设置为相机节点的变换


TBH,我可能会选择Hal的解决方案。

谢谢Hal,这帮我做到了