更改SCNNode比例无效

时间:2017-11-03 17:21:42

标签: ios swift scenekit arkit

我是ARKit和SceneKit的新手。我有一个来自3D艺术家的相当复杂的场景。他用SceneKit对象替换了一些项目。我现在尝试更改其中一个SCNNodes的属性,在本例中是scale属性,在另一种情况下是空间中的位置,而在另一个例子中我有一个SCNText,其中我更改了字符串属性:

feedScaler?.scale = SCNVector3Make(1.0, scale, 1.0)

feedText?.string = String(feedValue)

feedIndicator?.position.y = someNewValue

所以,非常直截了当。当我运行场景时,似乎此处的更改仅在场景出现之前提交一次。然后什么都没发生事情就是这样:

  • 更新属性的方法每帧运行一次
  • 我将节点的属性值打印到控制台并更新每个帧
  • 文本也会更新,并且是唯一实际呈现且可见的更新。

注意:除非我取消选中“使用场景时基”,否则该场景中的动画也无法播放。也许这是关于如何处理场景动画的暗示......

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。我使用了场景的克隆,导致引用丢失。文档说:

  

克隆或复制节点会创建节点对象的副本,但不会创建附加到它的几何,灯光,相机和其他SceneKit对象 - 而是每个复制的节点共享对这些对象的引用。

当原件丢失时,所有参考都无济于事。