【问题标题】:Rotating SceneKit Cylinder Around A Single Axis围绕单轴旋转 SceneKit 圆柱体
【发布时间】:2019-08-05 20:32:15
【问题描述】:

我有以下代码可以在视图中启用 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
}

}

【问题讨论】:

    标签: ios swift scenekit


    【解决方案1】:

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

       scnView.defaultCameraController.maximumVerticalAngle = 0.001
    

    【讨论】:

    • 喜欢单行解决方案!谢谢!
    猜你喜欢
    • 2012-09-26
    • 2018-02-06
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多