更改 SCNNode 比例无效
Changing SCNNode scale has no effect
我是 ARKit 和 SceneKit 的新手。我有一个来自 3D 艺术家的相当复杂的场景。他用 SceneKit 对象替换了一些项目。我现在尝试更改其中一个 SCNNode 的属性,在本例中为比例 属性,在另一种情况下为 space 中的位置,在另一个情况下我有一个 SCNText,我在其中更改了字符串 属性:
feedScaler?.scale = SCNVector3Make(1.0, scale, 1.0)
feedText?.string = String(feedValue)
feedIndicator?.position.y = someNewValue
所以,非常简单。但是,当我 运行 场景时,似乎这里的更改只在场景出现之前提交了一次。然后什么也没有发生。事情是这样的:
- 每帧更新属性 运行s 一次的方法
- 我将节点的 属性 值打印到控制台,它们会更新每一帧
- 文本也会更新,并且是唯一实际呈现和可见的更新。
注意:除非我取消选中 "Use scene time base",否则该场景中还有不播放的动画。也许这是关于如何处理场景动画的提示...
我发现了问题。我使用了导致引用丢失的场景的克隆。文档说:
Cloning or copying a node creates a duplicate of the node object, but not the geometries, lights, cameras, and other SceneKit objects attached to it—instead, each copied node shares references to these objects.
当原件丢失时,所有参考文献都将变得无用。
我是 ARKit 和 SceneKit 的新手。我有一个来自 3D 艺术家的相当复杂的场景。他用 SceneKit 对象替换了一些项目。我现在尝试更改其中一个 SCNNode 的属性,在本例中为比例 属性,在另一种情况下为 space 中的位置,在另一个情况下我有一个 SCNText,我在其中更改了字符串 属性:
feedScaler?.scale = SCNVector3Make(1.0, scale, 1.0)
feedText?.string = String(feedValue)
feedIndicator?.position.y = someNewValue
所以,非常简单。但是,当我 运行 场景时,似乎这里的更改只在场景出现之前提交了一次。然后什么也没有发生。事情是这样的:
- 每帧更新属性 运行s 一次的方法
- 我将节点的 属性 值打印到控制台,它们会更新每一帧
- 文本也会更新,并且是唯一实际呈现和可见的更新。
注意:除非我取消选中 "Use scene time base",否则该场景中还有不播放的动画。也许这是关于如何处理场景动画的提示...
我发现了问题。我使用了导致引用丢失的场景的克隆。文档说:
Cloning or copying a node creates a duplicate of the node object, but not the geometries, lights, cameras, and other SceneKit objects attached to it—instead, each copied node shares references to these objects.
当原件丢失时,所有参考文献都将变得无用。