10

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

没有抗锯齿:

没有抗锯齿的图像

使用抗锯齿:

带抗锯齿的图像

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

4

2 回答 2

5

不——这就是“抗锯齿”在形状节点上的样子。您可能希望看到更像multisampling的东西,但这不是 SpriteKit 在这里所做的。要获得您正在寻找的平滑非模糊线条,您必须将您的形状绘制到图像中,然后将其显示在 SKNode 中。您也可以考虑在 API 上提交增强请求。

于 2013-09-25T19:56:52.873 回答
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

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

于 2017-06-10T18:11:52.633 回答