我想添加一个CIGaussianBlur
to a SCNNode
正在 ARKit 中显示。
然而,添加该过滤器会将节点变成“白盒”。这是没有和有过滤器的节点。
No CIFilter
With 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 问题建议添加CIFilter
在 Metal 上不可能,但我相信从 iOS 11 开始这是可能的。
另外,我正在努力实现UIVisualEffectView
型效应SCNNode
,所以如果您知道另一种方法来实现这一目标,请告诉我!
你可以试试这个:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)