我正在SpriteKit中实现一个绘图程序,SprikeKit实现的简单实现让我印象深刻。 非常很酷!
每个画笔笔划都实现为附加SKSpriteNode
的{{1}}。一切都按照我的预期运作。
问题:目前我正在稳步增长SKShader
图形,因为附加了笔刷笔触。这不是一个可扩展的解决方案,因为资源消耗蘑菇和帧率减慢到爬行。那么,我想做什么"烘烤"画笔描边后的SKScene
图形。
我尝试在SKScene
个实例上设置myScene.shouldRasterize = YES
,但似乎没有效果。我如何"烘烤"在SpriteKit中渲染结果?我必须自己动手吗?
谢谢,
道格
答案 0 :(得分:1)
我能想到的唯一一件事就是在SKView
上SKNode
拨打SKSpriteNode
来SKNode
传递你想要"烘烤"。然后取出该纹理,将其应用于{{1}},然后移除您刚刚“烘烤”的{{1}}(#1}}。进入纹理。
答案 1 :(得分:1)
想要添加评论,但声誉不会让我感到满意。只是想补充一点,你可以使用SKEffectNode
来栅格化一组精灵。只需将任何精灵添加到此节点,然后使用相同的shouldRasterize
属性。您甚至可以将CoreImage过滤器应用于它,例如Gaussian Blurs。
创建栅格化节点时,缺点显然是性能。