我正在使用SKVideoNode作为我的360度视频球体的材质,但它只在球体的xy正面部分渲染视频,我正在从一个URL流式传输视频,以.m3u8供参考 - SKVideoNode作为SCNSphere的纹理
多个人似乎和我有同样的问题
func makeSphere() {
let sceneView = SCNView(frame: self.view.frame);
self.view.addSubview(sceneView);
var screenSize: CGRect = UIScreen.mainScreen().bounds;
var screenWidth = screenSize.width;
var screenHeight = screenSize.height;
sceneView.frame.size.height = screenHeight * 1;
sceneView.frame.size.width = screenWidth * 1;
sceneView.center.x = screenWidth * 0.5;
let scene = SCNScene();
sceneView.scene = scene;
sphereGeometry = SCNSphere(radius: 5);
sphereNode = SCNNode(geometry: sphereGeometry);
sphereNode.position = SCNVector3(x: 0, y: 0, z: 0);
sphereGeometry.segmentCount = 55;
constraint = SCNLookAtConstraint(target: sphereNode);
let camera = SCNCamera();
let cameraNode = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Scenekit将视频作为纹理映射到VR项目的原始柱面:一个嵌入在SKScene中的SKVideoNode作为SceneKit SCNTube对象的纹理,我只是无法将视频显示为静止图像会.下面的PLayground代码应生成映射到柱面的移动视频,但映射不起作用:
编辑:在上市结束时添加单行修复.以下代码应该工作
import UIKit
import SceneKit // for 3D mapping
import SpriteKit // for SKVideoNode
import QuartzCore // for basic animation
import XCPlayground // for live preview
import AVFoundation // for video playback engine
// create a scene view with an empty scene
var sceneView = SCNView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
var scene = SCNScene()
sceneView.scene = scene
// start a live preview of that view
XCPShowView("The Scene View", view: sceneView)
// default lighting
sceneView.autoenablesDefaultLighting …Run Code Online (Sandbox Code Playgroud)