场景套件节点不旋转

时间:2017-08-23 04:19:18

标签: ios scenekit

我正在尝试按场景套件节点旋转,但它不会旋转。

我希望它围绕y轴旋转。这是一个球体。

let node = SCNNode()
node.geometry = SCNSphere(radius: 1)
node.geometry?.firstMaterial?.diffuse.contents = UIImage(named: "diffuse.png")
node.geometry?.firstMaterial?.specular.contents = UIImage(named: "specular.png")
node.geometry?.firstMaterial?.emission.contents = UIImage(named: "emission.png")
scene.rootNode.addChildNode(node)


let action = SCNAction.rotate(by:360 * CGFloat((Double.pi)/180.0), around: SCNVector3(x: 0, y: 1, z: 0), duration: 8)

let repeatAction = SCNAction.repeatForever(action)
node.runAction(repeatAction)

1 个答案:

答案 0 :(得分:0)

你确定它不会旋转吗?我不确定你的漫反射,镜面反射和发射图像是什么,但也许是因为它是一个它看起来不像旋转的球体,因为它从各个方面看起来都是一样的。

在viewDidAppear中对多维数据集运行相同的操作对我有用,所以它可能只是你不能真正注意到球体旋转。我用了这段代码:

    let node = SCNNode()

    node.geometry = SCNBox (width: 0.5, height: 0.5, length: 0.5, chamferRadius: 0.1)
    node.position = SCNVector3Make(0, 0, -1)
    sceneView.scene.rootNode.addChildNode(node)

    let action = SCNAction.rotate(by:360 * CGFloat((Double.pi)/180.0), around: SCNVector3(x: 0, y: 1, z: 0), duration: 8)

    let repeatAction = SCNAction.repeatForever(action)
    node.runAction(repeatAction)

使用旋转SCNNode的方式,立方体旋转正常。

希望这有帮助