2016-08-30 75 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视频,这一点尤其有用。