0

Ich versuche 180 fisheye Video mit Scenekit zu spielen und eines der Beispiele, die ich gefunden habe, verwendet eine Kugel als AVPlayers Geometrie um 360 Grad Video zu spielen.AVPlayer auf Halbkugel statt Kugel zum Abspielen von 180 ° Video

Problem ist das Video, das ich benutze, ist mit 180 ° Fisheye-Kamera erfasst und ich muss es mit einer halben Kugel darstellen.

Ich habe mit dem Code für 2 Tage hantiert, aber ohne Glück.

Da ich keine Erfahrung mit diesem Thema habe, habe ich versucht, den AVPlayer teilweise auf eine volle Kugel zu legen oder die SCNSphere ohne Erfolg zu halbieren.

Der folgende Code ist für die Wiedergabe von 360 Videospiel- und von simple360player_iOS GitHub Repo,

var screenScale : CGFloat          = 1.0 
     if PROCESSOR_64BITS { 
      screenScale             = CGFloat(3.0) 
     } 

     player               = AVPlayer(URL: fileURL!) 
     let videoSpriteKitNodeLeft          = SKVideoNode(AVPlayer: player) 
     let videoNodeLeft            = SCNNode() 
     let spriteKitScene1            = SKScene(size: CGSize(width: 1280 * screenScale, height: 1280 * screenScale)) 
     spriteKitScene1.shouldRasterize         = true 
     var spriteKitScenes            = [spriteKitScene1] 

     videoNodeLeft.geometry           = SCNSphere(radius: 30) 
     spriteKitScene1.scaleMode          = .AspectFit 
     videoSpriteKitNodeLeft.position         = CGPoint(x: spriteKitScene1.size.width/2.0, y: spriteKitScene1.size.height/2.0) 
     videoSpriteKitNodeLeft.size          = spriteKitScene1.size 

Antwort

0

eine Teilkugel, Teil Mapping einrichten oder ein anderes Objekt, das sonst erreicht, dass Ziel ist es wahrscheinlich der edelste Weg. Je nach Kontext des Projekts ist es in Fällen mit 180-Grad-Videos jedoch oft schneller, die Breite des Videos zu verdoppeln und den zusätzlichen Platz mit Schwarz oder etwas Ihrer Wahl zu füllen. Dies ist besonders nützlich, wenn Sie wahrscheinlich 360-Video in der Zukunft haben werden.

Verwandte Themen