我正在使用 ARKit 通过连接到相机节点的箭头将人们引导到物理世界中的某个位置。将 LookAtConstraint 应用于以我想要的位置中的节点为目标的箭头几乎可以满足我的需要。但是,我需要阻止箭头左右滚动和上下倾斜。 Example of UI
最佳答案
您是否尝试过设置 isGimbalLockEnabled
至true
限制辊旋转?在 documentation苹果提到:“例如,当限制相机跟随移动物体时,将此属性设置为 true 可确保从相机的角度来看地平线保持水平。”
如果这仍然不是您想要的,您可能需要使用类函数 SCNTransformConstraint.orientationConstraint
编写自定义约束。 。您可以将约束编写为辅助约束,基本上限制 X 轴和 Z 轴上的旋转,或者您可以编写自己的具有更多限制的查看约束(在这种情况下,我建议查看 simd.look(at:)
function然后从那里限制方向轴)。
这应该可以帮助您完成大部分工作,或者如果它似乎不起作用,我可以稍后添加一些代码。祝你好运!
关于scenekit - 如何旋转 SCNNode 以查看另一个节点,同时保持其滚动和俯仰与相机水平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52628422/