【发布时间】:2022-11-10 23:42:15
【问题描述】:
以下代码的行为方式与 iOS 16 和 iOS 16 之前的行为方式不同。模糊效果在 iOS 16 中似乎无法正常工作。
class GameScene: SKScene {
override func didMove(to view: SKView) {
let shapeNode = SKShapeNode(circleOfRadius: 30)
shapeNode.fillColor = .green
shapeNode.strokeColor = .clear
addChild(shapeNode)
let blurredShapeNode = SKShapeNode(circleOfRadius: 30)
blurredShapeNode.fillColor = .red
blurredShapeNode.strokeColor = .clear
let effectNode = SKEffectNode()
addChild(effectNode)
effectNode.addChild(blurredShapeNode)
let blurAngle = NSNumber(value: 0)
effectNode.filter = CIFilter(
name: "CIMotionBlur", parameters: [kCIInputRadiusKey: 30, kCIInputAngleKey: blurAngle])
}
}
iOS < 16 看起来像:
而且 iOS 16 看起来很糟糕(模糊被移动和拉伸)
【问题讨论】:
-
与 CIFilter CIGaussianBlur 相同,它会抵消它并缩小它(取决于 inputRadius 的大小)。
标签: sprite-kit core-graphics core-image ios16