Добавление фонового изображения в ScnScene
У меня есть приложение, которое использует SpriteKit и частицы-эмиттеры (sks), которые я считаю не такими реалистичными, как частицы комплекта Scene (scnp). Поэтому я хочу включить это в SKScene, но я не уверен, возможно ли это вообще. Поэтому я решил создать SCNScene и частицы (scnp). Однако я хочу добавить фоновое изображение, и единственным трехмерным эффектом будут частицы. Может ли кто-нибудь помочь мне установить фоновое изображение для моей SCNScene. Традиционно я хотел бы добавить это как SKScene, но я не мог найти какую-либо помощь онлайн для SceneKit.
let backgroundNode = SKSpriteNode(imageNamed: "backgroundImage")
backgroundNode.size = view.frame.size
backgroundNode.position = CGPointMake(view.frame.size.width/2, view.frame.height/2)
self.addChild(backgroundNode)
заранее спасибо
2 ответа
let scnScene = SCNScene()
scnScene.background.contents = UIImage(named: "earth.jpg")
В основном тот же ответ, что и у @Kusal Shrestha, но я смог поставить градиентный фон, используя кучу разных технологий. Все еще очень просто и полезно.
const CGFloat DIVISOR = 255.0f;
CIColor *bottomColor = [CIColor colorWithRed:(CGFloat)0xee / DIVISOR green:(CGFloat)0x78 / DIVISOR blue:(CGFloat)0x0f / DIVISOR alpha:1];
CIColor *topColor = [CIColor colorWithRed:0xff / DIVISOR green:0xfb / DIVISOR blue:0xcf / DIVISOR alpha:1];
SKTexture* textureGradient = [SKTexture textureWithVerticalGradientofSize:scnview.frame.size topColor:topColor bottomColor:bottomColor];
UIImage* uiimageGradient = [UIImage imageWithCGImage:textureGradient.CGImage];
self.background.contents = uiimageGradient;
Где "я" является подклассом SCNScene.
Этот пример требует категории на текстуру отсюда: https://gist.github.com/Tantas/7fc01803d6b559da48d6
Я пробовал использовать ответ @Kusal Shresthas. Однако изображение не загружалось, когда я помещал файл изображения вscnassets
. Но когда я вставляю файлxcassets
, это сработало.
scnScene.background.contents = UIImage(named: "earth")