gpt4 book ai didi

ios - 使用 SCNGeometry 进行关键值观察以获得详细程度

转载 作者:行者123 更新时间:2023-11-29 05:29:39 25 4
gpt4 key购买 nike

我正在尝试使用 kvo 来观察节点的几何形状,因为 Scenekit 不提供某种回调来让我知道节点的详细程度何时已更新。这样做的目的是我的节点有空闲动画,当细节级别更改为最详细版本以外的任何内容时,我想从我的节点中删除动画,以避免运行不必要的空闲动画。

下面是观察设置。将细节级别添加到几何图形的代码位于其他地方,但它确实运行,因为我可以看到几何图形随着节点的像素半径的变化而变化。

永远不会调用更改处理程序。如果我观察节点的位置,则当我将节点放置在场景中的位置时,会触发更改处理程序。是否有其他我应该监视的属性,或者是否有其他方法可以确定节点已更改使用中的细节级别,以便我可以从该节点删除动画?

import SceneKit

class ObservableNode: SCNReferenceNode {

private var geometryObservation: NSKeyValueObservation?

override init?(url referenceURL: URL) {
super.init(url: referenceURL)

self.load()

geometryObservation = observe(
\.geometry,
options: [.old, .new]
) { node, change in
print("geometry did change")
}
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

最佳答案

我和 Matt 共同解决了这个问题,以下是我们提出的解决方案:

https://stackoverflow.com/a/57871058/5978327

关于ios - 使用 SCNGeometry 进行关键值观察以获得详细程度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com