是否可以修复抗锯齿 SKShapeNodes 的模糊性?
Posted
技术标签:
【中文标题】是否可以修复抗锯齿 SKShapeNodes 的模糊性?【英文标题】:Is it possible to fix the fuzziness of antialiased SKShapeNodes? 【发布时间】:2013-09-25 19:42:39 【问题描述】:我正在尝试在游戏中使用 SKShapeNodes,发现抗锯齿 SKShapeNodes 非常模糊。
没有抗锯齿:
抗锯齿:
有没有办法在 SpriteKit 中使用 SKShapeNodes 的抗锯齿来减少线条上的阶梯,但又不会像上面第二张图片那样使线条变得模糊?
【问题讨论】:
【参考方案1】:不——这就是形状节点上的“抗锯齿”效果。你可能期待看到更像multisampling 的东西,但这不是 SpriteKit 在这里所做的。要获得您正在寻找的平滑且不模糊的线条,您必须将形状绘制到图像中,然后将其显示在 SKNode 中。您还可以考虑 API 上的filing an enhancement request。
【讨论】:
【参考方案2】:这不是一个很好的解决方案,但它确实有效:创建一个更大的 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 添加为子节点时可能会导致令人沮丧的问题,因为它们可能会被递归缩放并最终变得比您预期的要小。 p>
【讨论】:
以上是关于是否可以修复抗锯齿 SKShapeNodes 的模糊性?的主要内容,如果未能解决你的问题,请参考以下文章
谷歌地图GroundOverlays默认情况下是不是具有抗锯齿功能?