在 SceneKit 中禁用相机平移

Posted

技术标签:

【中文标题】在 SceneKit 中禁用相机平移【英文标题】:Disable camera panning in SceneKit 【发布时间】:2017-03-27 13:17:13 【问题描述】:

如果我在 SceneKit 中使用默认的相机控件,有没有办法禁用两指平移功能并保持其他功能不变?

我希望用户能够旋转和缩放对象,但根本不能移动它。

【问题讨论】:

【参考方案1】:

sceneView 已经附加了一个 UIPanGestureRecognizer。 如果将其 maximumNumberOfTouches 修改为 1,则可以禁用平移手势。

for reco in sceneView.gestureRecognizers! 
    if let panReco = reco as? UIPanGestureRecognizer 
        panReco.maximumNumberOfTouches = 1
    

【讨论】:

你知道,这些年来我的项目中仍然存在这个问题,这个出色的答案终于解决了它。感谢您的帮助!【参考方案2】:

没有。您必须制作自己的相机并使用手势识别器。

【讨论】:

以上是关于在 SceneKit 中禁用相机平移的主要内容,如果未能解决你的问题,请参考以下文章

SceneKit:围绕任意点进行轨道运行而无需相机跳跃或将锚点移动到中心?

DefaultCameraController 上的 SceneKit 动画

SceneKit:在 Swift 4 中缩放相机

使用 Swift 在 Scenekit 中移动相机

对 SceneKit 中相机的正交投影感到困惑

SceneKit + ARKit:无需相机滚动的广告牌