如何旋转SCNNode以查看另一个节点,同时保持其滚动和俯仰水平与相机?

时间:2018-10-03 13:41:59

标签: scenekit arkit scnnode

我正在使用ARKit,使用附在相机节点上的箭头将人们引导到物理世界中的某个位置。将lookAtConstraint应用于目标位置为我想要的节点的箭头几乎可以满足我的需要。但是,我需要停止箭头左右滚动以及上下俯仰。 Example of UI

1 个答案:

答案 0 :(得分:1)

您是否尝试将isGimbalLockEnabled设置为true来限制纸卷旋转?苹果在documentation中提到:“例如,当约束摄像机跟随移动的对象时,将此属性设置为true可以确保从摄像机的角度来看地平线保持水平。”

如果这仍然不是您要查找的内容,则可能需要使用类函数SCNTransformConstraint.orientationConstraint编写自定义约束。您可以将约束条件编写为基本约束X和Z轴旋转的辅助约束条件,也可以编写更多约束条件的查看约束条件(在这种情况下,我建议您查看simd.look(at:) { {3}},然后从那里限制方向轴)。

这应该能为您提供大部分帮助,或者,如果以后似乎无法正常工作,我可以在后面添加一些代码。祝你好运!