Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save romyilano/8ccb9ea4c12b99616ab8fa3cbf306d2c to your computer and use it in GitHub Desktop.
Save romyilano/8ccb9ea4c12b99616ab8fa3cbf306d2c to your computer and use it in GitHub Desktop.
adding a video in a SceneKit scene using a SpriteKit SKVideoNode
let spriteKitScene = SKScene(size: CGSize(width: 1276.0 / 2.0, height: 712.0 / 2.0))
var videoSpriteKitNode:SKVideoNode?
let videoNode = SCNNode()
videoNode.geometry = SCNPlane(width: videoNodeWidth, height: videoNodeHeight)
// using SpriteKit scene with videonode inside
//
spriteKitScene.scaleMode = .AspectFit
videoSpriteKitNode?.position = CGPoint(x: spriteKitScene.size.width / 2.0, y: spriteKitScene.size.height / 2.0)
videoSpriteKitNode?.size = spriteKitScene.size
spriteKitScene.addChild(videoSpriteKitNode!)
videoNode.geometry?.firstMaterial?.diffuse.contents = spriteKitScene
videoNode.geometry?.firstMaterial?.doubleSided = true
// flip video upside down, so that it's shown in the right position
//
var transform = SCNMatrix4MakeRotation(Float(M_PI), 0.0, 0.0, 1.0)
transform = SCNMatrix4Translate(transform, 1.0, 1.0, 0)
videoNode.geometry?.firstMaterial?.diffuse.contentsTransform = transform
videoNode.position = SCNVector3(x: 0, y: 30, z: 7)
aSceneKitNode.addChildNode(videoNode)
videoSpriteKitNode?.play()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment