【发布时间】:2019-06-27 18:10:59
【问题描述】:
我想将 CIGaussianBlur 添加到 ARKit 中显示的 SCNNode。
但是,添加该过滤器会将节点变成“白盒”。这是没有和有过滤器的节点。
没有CIFilter
与CIFilter
以下是相关代码:
let gaussianBlurFilter = CIFilter(name: "CIGaussianBlur")!
gaussianBlurFilter.name = "blur"
node.filters = [gaussianBlurFilter]
let material = node.geometry?.firstMaterial
material?.diffuse.contents = UIColor.blue
node.position = SCNVector3(x: 0, y: 0, z: -0.39)
camera.addChildNode(node)
之前的 Stack Overflow 问题表明,在 Metal 上添加 CIFilter 是不可能的,但我相信现在从 iOS 11 开始就可以了。
另外,我正在尝试在SCNNode 上实现UIVisualEffectView-type 效果,所以如果您知道另一种实现方式,请告诉我!
【问题讨论】:
-
您不应该将过滤器添加到层而不是节点吗? let layer = CALayer() layer.filters = [gaussianBlurFilter]
-
iOS 上从未支持图层过滤器。他在过滤节点方面是正确的,这是 SceneKit 支持的。
-
这方面有什么进展吗?
-
@omarojo 不幸的是,我从未找到解决方案。