绕单轴旋转SceneKit圆柱体

时间:2019-03-14 20:03:22

标签: ios swift scenekit

我有以下代码可以在视图中显示3D圆柱体。在设备上查看时,手势会沿x轴(向上和向下滑动手势)和y轴(向左和向右滑动)旋转圆柱体,但是z轴已锁定。我相信这是allowCameraControl的默认设置。

我想做的是锁定x轴(我认为),以便仅左右滑动手势有效。我不应该看到圆柱体的顶部或底部。我想在向左和向右滑动时保持默认旋转(即,滑动后自然放慢速度)。

感谢您的任何帮助!

class MyCollectionViewController: UIViewController {

@IBOutlet weak var scnView: SCNView!

var scnScene: SCNScene!


override func viewDidLoad() {
    super.viewDidLoad()
    sceneSetup()
}


// MARK: Scene
func sceneSetup() {

    scnScene = SCNScene()

    let cylinder = SCNNode(geometry: SCNCylinder(radius: 5.0, height: 20))
    cylinder.geometry?.firstMaterial?.diffuse.contents = UIImage(named: "image1")
    cylinder.geometry?.firstMaterial?.specular.contents = UIColor.white

    scnView.allowsCameraControl = true

    scnScene.rootNode.addChildNode(cylinder)

    scnView.autoenablesDefaultLighting = true

    scnView.scene = scnScene
}

}

1 个答案:

答案 0 :(得分:2)

在代码中添加以下内容可以锁定垂直

   scnView.defaultCameraController.maximumVerticalAngle = 0.001