根据文档,
SKScene
是SKEffectNode
的子级,因此如果不为零,则应符合并应用着色器属性。
我已成功将着色器添加到各个 SKSprites(因此我知道我的着色器代码正在运行),但如果我将相同的着色器应用到场景,则不会发生任何事情,没有错误,什么也没有。
我尝试在多个地方初始化着色器:
我有什么遗漏的吗?
(我正在使用来自 https://github.com/twostraws/ShaderKit 的改编代码)
类似的问题在 6 年前被问过(将自定义 SKShader 应用于 SKScene,使用 Swift 对 iOS 8 SpriteKit 中的整个渲染场景进行像素化),但将这个怪癖标记为错误(也许它只是从未在此期间得到纠正?)
您应该始终记住将
shouldEnableEffects
设置为 true
。