0

在我的 SpriteKit 场景中,我有一个SKEffectNode用于模糊和SK3DNode显示 3D 模型的功能。当我设置时shouldEnableEffects = true,整个场景变得模糊,但也颠倒(垂直翻转)。但是,此外,我收到了这个奇怪的错误:

错误:从 iOS 13.0 和 macOS 10.15 开始,SceneKit 使用 reverseZ 深度缓冲区来实现更好的精度。您必须将深度清除为 0.0,否则所有内容都将被丢弃。要退出此新行为,您可以在应用的 Info.plist 文件中将 SCNDisableReverseZ 键设置为布尔值 YES。

SCNDisableReverseZGoogle 和 Apple 开发人员参考中的搜索结果完全为零。我尝试将此添加到 info.plist,但它没有任何改变,我仍然收到此错误。

正常场景:普通场景 模糊场景:越野车场景

我们不能责怪SKEffectNode,因为当我删除时SK3DNode,一切正常。这是过滤器设置代码,以确保我没有做任何奇怪的事情:

 let blurFilter = CIFilter(name: "CIGaussianBlur")!
 blurFilter.setValue(radius, forKey: "inputRadius")
 self.filter = blurFilter

对我来说显然看起来像一个框架错误,问题是如何找到解决方法。我试图从场景中制作纹理,以便将其模糊SKSpriteNode并模糊,但纹理也是颠倒的。

4

0 回答 0