我正在嘗試在遊戲中使用SKShapeNodes,並發現antialiased SKShapeNodes非常模糊。是否可以修復抗鋸齒SKShapeNodes的模糊性?
無抗鋸齒:
抗鋸齒:
是否有某種方式來使用SpriteKit SKShapeNodes的抗鋸齒,以減少樓梯踩線,但沒有使線條模糊如上面的第二個圖像?
我正在嘗試在遊戲中使用SKShapeNodes,並發現antialiased SKShapeNodes非常模糊。是否可以修復抗鋸齒SKShapeNodes的模糊性?
無抗鋸齒:
抗鋸齒:
是否有某種方式來使用SpriteKit SKShapeNodes的抗鋸齒,以減少樓梯踩線,但沒有使線條模糊如上面的第二個圖像?
不,這就是「形狀」節點上「抗鋸齒」的樣子。你可能期望看到更像multisampling的東西,但這不是SpriteKit在這裏做的。爲了獲得平滑的非模糊線條,您需要將自己的形狀繪製成圖像,然後將其顯示在SKNode中。你也可以在API上考慮filing an enhancement request。
這不是一個漂亮的解決方案,但它確實有效:創建一個更大的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兒童時,它可能會導致令人沮喪的問題,因爲他們可能會遞歸縮放並最終小於您的預期。