gpt4 book ai didi

ios - 给SCNNode添加CIFilter让节点变成白盒

转载 作者:行者123 更新时间:2023-12-01 16:08:21 26 4
gpt4 key购买 nike

我想将 CIGaussianBlur 添加到正在 ARKit 中显示的 SCNNode

但是,添加该过滤器会将节点变成“白框”。这是没有和有过滤器的节点。

没有CIFilter

SCNNode with no CIFilter

使用CIFilter

SCNNode 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 问题表明,在 Metal 上添加 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

enter image description here

关于ios - 给SCNNode添加CIFilter让节点变成白盒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48999812/

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