在我的 SpriteKit 场景中,我有一个SKEffectNode
用于模糊和SK3DNode
显示 3D 模型的功能。当我设置时shouldEnableEffects = true
,整个场景变得模糊,但也颠倒(垂直翻转)。但是,此外,我收到了这个奇怪的错误:
错误:从 iOS 13.0 和 macOS 10.15 开始,SceneKit 使用 reverseZ 深度缓冲区来实现更好的精度。您必须将深度清除为 0.0,否则所有内容都将被丢弃。要退出此新行为,您可以在应用的 Info.plist 文件中将 SCNDisableReverseZ 键设置为布尔值 YES。
SCNDisableReverseZ
Google 和 Apple 开发人员参考中的搜索结果完全为零。我尝试将此添加到 info.plist,但它没有任何改变,我仍然收到此错误。
我们不能责怪SKEffectNode
,因为当我删除时SK3DNode
,一切正常。这是过滤器设置代码,以确保我没有做任何奇怪的事情:
let blurFilter = CIFilter(name: "CIGaussianBlur")!
blurFilter.setValue(radius, forKey: "inputRadius")
self.filter = blurFilter
对我来说显然看起来像一个框架错误,问题是如何找到解决方法。我试图从场景中制作纹理,以便将其模糊SKSpriteNode
并模糊,但纹理也是颠倒的。