是否有可能修复抗锯齿SKShapeNodes的模糊性?

我正在尝试在游戏中使用SKShapeNodes,并发现抗锯齿的SKShapeNodes非常模糊。

没有抗锯齿:

没有抗锯齿的图像

使用抗锯齿:

抗锯齿图像

有没有办法在SpriteKit中使用SKShapeNodes的抗锯齿来减少线条上的阶梯踩踏,但不会像上面的第二张图片那样使线条模糊?

不,这就是“抗锯齿”在形状节点上的样子。 您可能希望看到更多像多重采样的东西,但这不是SpriteKit在这里做的事情。 要获得平滑的非模糊线条,您需要将形状绘制到图像中,然后在SKNode中显示。 您还可以考虑在API上提交增强请求 。

这不是一个漂亮的解决方案,但它确实有效:创建一个更大的SKShapeNode并缩小它。

正常:

let shape = SKShapeNode(circleOfRadius: 10) 

缩放:

 let scaleFactor: CGFloat = 2 let shape = SKShapeNode(circleOfRadius: 10 * scaleFactor) shape.xScale = 1 / scaleFactor shape.yScale = 1 / scaleFactor 

这使得渲染看起来不那么模糊,但是要注意 ,当将SKNode添加为子节点时,它可能会导致令人沮丧的问题,因为它们可能会递归缩放并最终小于您的预期。