SpriteKit + iOS8。 SpriteKit 是不是支持“烘焙”渲染结果?
Posted
技术标签:
【中文标题】SpriteKit + iOS8。 SpriteKit 是不是支持“烘焙”渲染结果?【英文标题】:SpriteKit + iOS8. Does SpriteKit support "baking" rendered results?SpriteKit + iOS8。 SpriteKit 是否支持“烘焙”渲染结果? 【发布时间】:2014-08-18 14:50:02 【问题描述】:我正在 SpriteKit 中实现一个绘画程序,我对 SprikeKit 实现的简单性印象深刻。 非常确实很酷!
每个画笔笔触都以SKSpriteNode
的形式实现,并附有SKShader
。一切都如我所愿。
问题:目前我正在稳步增长SKScene
图表,因为添加了笔触。这不是一个可扩展的解决方案,因为资源消耗迅速增加,帧速率变慢。所以,我想在画笔描边后“烘焙”SKScene
图。
我尝试在我的SKScene
实例上设置myScene.shouldRasterize = YES
,但它似乎没有效果。如何在 SpriteKit 中“烘焙”渲染结果?我必须自己滚动吗?
谢谢, 道格
【问题讨论】:
【参考方案1】:我唯一能想到的就是在你的SKView
上调用textureFromNode
,传入你想要“烘焙”的SKNode
。然后获取该纹理,将其应用于SKSpriteNode
,然后将您刚刚“烘焙”到纹理中的SKNode
(s) 移除。
【讨论】:
是的。这就是我倾向于的方法。干杯,迈克。【参考方案2】:想添加评论,但声誉不允许。只是想补充一点,您可以使用SKEffectNode
栅格化一组精灵。只需将任何精灵添加到此节点,然后使用相同的shouldRasterize
属性。您甚至可以对其应用 CoreImage 滤镜,例如高斯模糊。
明显的缺点是创建光栅化节点时的性能。
【讨论】:
谢谢威廉。我选择了 textureFromNode,结果正是我想要的。 SpriteKit 非常高效。对于我曾经使用 OpenGL/GLSL 的大多数 2D,我可以使用 SpriteKit/GLSL。以上是关于SpriteKit + iOS8。 SpriteKit 是不是支持“烘焙”渲染结果?的主要内容,如果未能解决你的问题,请参考以下文章
在 ios8 中使用 appdelegate 暂停 spritekit 游戏