2016-08-30 70 views
0

我想用場景包來播放180個魚眼視頻,我發現的一個例子是使用球體作爲AVPlayers幾何來播放360度視頻。AVPlayer在半球而不是球體上播放180°視頻

問題是我使用的視頻是用180°魚眼相機拍攝的,我需要用半球來表示它。

我一直在擺弄2天的代碼,但沒有運氣。

因爲我對這個主題沒有經驗,所以我試圖將AVPlayer部分放到一個完整的球體上,或者把SCNSphere切成兩半,但沒有成功。

下面的代碼是用於播放視頻360和來自simple360player_iOS GitHub庫,

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 

回答

0

設置部分球體,部分映射,或以其它方式實現這一目標可能是最高貴路徑的另一對象。但是,根據項目背景情況,如果您有180度視頻,通常可以將視頻寬度加倍並使用黑色或您選擇的其他空間填充額外空間。如果未來有可能會有360視頻,這一點尤其有用。