SKEffectionNodes
有一个shouldRasterise“开关”,将它们烘焙成位图,并且在受效果影响的底层节点发生更改之前不会更新它们。
但是我找不到创建一个的方法SKTexture
从这个光栅化的“图像”。
是否有可能获得SKTexture
from a SKEffectNode
?
我想你可以尝试这样的代码(这只是一个例子):
if let effect = SKEffectNode.init(fileNamed: "myeffect") {
effect.shouldRasterize = true
self.addChild(effect)
...
let texture = SKView().texture(from: self)
}
Update:
在您回答之后,希望我更好地理解您想要实现的目标。
这是我的观点:如果你想制作纹理的阴影,你可以简单地创建一个SKSpriteNode
具有这种纹理:
let shadow = SKSpriteNode.init(texture: <yourTexture>)
shadow.blendMode = SKBlendMode.alpha
shadow.colorBlendFactor = 1
shadow.color = SKColor.black
shadow.alpha = 0.25
我想说的是,你可以一步步进行:
- 得到你的纹理
- 精心制作你的纹理(添加滤镜,制作一些其他效果..)
- 得到影子
这种工作方式产生了一系列有用的方法,您可以在项目中使用它们来构建其他类型的元素。
也许,通过分离您不需要使用的任务texture(from:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)