我具有以下代码以在视图中启用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
}
}
最佳答案
在代码中添加以下内容即可锁定垂直
scnView.defaultCameraController.maximumVerticalAngle = 0.001
关于ios - 绕单轴旋转SceneKit圆柱体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55171123/