Ios 将CIFilter添加到SCNNode会将节点变成白色框

Ios 将CIFilter添加到SCNNode会将节点变成白色框,ios,scenekit,arkit,Ios,Scenekit,Arkit,我想在ARKit中显示的SCNNode中添加一个CIGaussianBlur 但是,添加该过滤器会将节点变为“白色框”。这是不带过滤器和带过滤器的节点 无CIFilter 使用CIFilter 以下是相关代码: 以前的堆栈溢出问题表明,在金属上添加CIFilter是不可能的,但我相信从iOS 11开始,现在就可以了 另外,我正在尝试在SCNNode上实现UIVisualEffectView类型的效果,因此,如果您知道实现这一点的其他方法,请告诉我 您可以尝试以下方法: let gaussi

我想在ARKit中显示的
SCNNode
中添加一个
CIGaussianBlur

但是,添加该过滤器会将节点变为“白色框”。这是不带过滤器和带过滤器的节点

CIFilter

使用
CIFilter

以下是相关代码:

以前的堆栈溢出问题表明,在金属上添加
CIFilter
是不可能的,但我相信从iOS 11开始,现在就可以了

另外,我正在尝试在
SCNNode
上实现
UIVisualEffectView
类型的效果,因此,如果您知道实现这一点的其他方法,请告诉我

您可以尝试以下方法:

let gaussianBlur    = CIFilter(name: "CIGaussianBlur")
gaussianBlur?.name  = "blur"
gaussianBlur?.setValue(15, forKey: "inputRadius")
node.filters        = [gaussianBlur] as? [CIFilter]
并按如下方式配置SceneView:

sceneView.antialiasingMode    = .none
sceneView.isJitteringEnabled  = false

是否应将过滤器添加到与节点相反的图层?let layer=CALayer()layer.filters=[gaussianBlurFilter]iOS上从未支持过层过滤器。他在过滤节点方面是正确的,这是SceneKit支持的。这方面有什么进展吗?@omarojo不幸的是,我从未找到解决方案。
sceneView.antialiasingMode    = .none
sceneView.isJitteringEnabled  = false