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

时间:2013-09-25 19:42:39

标签: ios ios7 sprite-kit

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

没有抗锯齿:

image without antialiasing

使用抗锯齿:

image with antialiasing

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

2 个答案:

答案 0 :(得分:5)

不 - 这就是形状节点上的“抗锯齿”效果。您可能希望看到更像multisampling的内容,但这不是SpriteKit在这里所做的事情。要获得平滑的非模糊线条,您需要将形状绘制到图像中,然后在SKNode中显示。您可能还会在API上考虑filing an enhancement request

答案 1 :(得分:0)

这不是一个漂亮的解决方案,但确实有效:创建一个更大的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添加为子节点时会导致令人沮丧的问题,因为它们可能会递归缩放并最终小于您的预期。