Есть много вопросов о том, как сделать размытие в SpriteKit, большинство из которых, похоже, используют фильтр CIGaussianBlur
. Я сделал это, но это кажется медленным для размытия больших изображений, и есть другие проблемы, такие как размытие по краям.
UIBlurEffect
кажется идеальным инструментом для представлений UIKit, и я понимаю, что он оптимизирован и эффективен, и кажется, что лучший эффект был бы, если бы он работал в SpriteKit.
Мне интересно, можно ли каким-то образом использовать размытие UIKit в SpriteKit. Например, возьмите UIImage
, каким-то образом сымитируйте UIKit UIImageView
, размойте его, возьмите размытое изображение и затем используйте его как текстуру в SKSpriteNode
.
Я не собираюсь размывать всю сцену, только один узел в ней, и я не хочу использовать какие-либо сторонние библиотеки.
UIKit
не будут работать внутри элементовSpriteKit
. Если вам нужно показать размытое изображение, единственный вариант, который я могу предложить, исходя из моих знаний, - это добавить его напрямую в контроллер представления, что в большинстве случаев не является практическим решением. - person Harikrishnan   schedule 02.12.2015CIGaussianBlur
может быть быстрее. Представление визуальных эффектов на самом деле не размывает изображение, поэтому вы не можете использовать его для размытия изображения ни внутри, ни снаружи UIKit. Он просто добавляет несколько слоев и делает изображение размытым. Если вам нужен тот же эффект, вы можете создать представление с помощью visualeffectview, а затем нарисовать его с помощью CGGraphics, что, конечно, является настоящим грязным и непрофессиональным взломом. :-) - person Harikrishnan   schedule 02.12.2015