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