Я хочу показать живое сферическое изображение с помощью SceneKit. Я использую диффузный контент SCNMaterial, чтобы показать его, но есть некоторая задержка в показе в реальном времени. Следующий код - моя попытка сделать это. Пожалуйста, руководство, если вы сталкиваетесь с таким случаем.
@IBOutlet weak var sceneView: SCNView!
let scene = SCNScene()
sceneView.scene = scene
sceneView.backgroundColor = UIColor.black
let material = SCNMaterial()
material.diffuse.mipFilter = .linear
material.diffuse.magnificationFilter = .linear
material.diffuse.contentsTransform = SCNMatrix4MakeScale(-1, 1, 1)
material.diffuse.wrapS = .repeat
material.cullMode = .front
let sphere = SCNSphere(radius: 8)
sphere.segmentCount = 300
httpConnection.startLiveView { (data) in
DispatchQueue.main.async {
let image = UIImage(data: data!)
material.diffuse.contents = image
}
}
sphere.firstMaterial = material
let sphereNode = SCNNode()
sphereNode.geometry = sphere
scene.rootNode.addChildNode(sphereNode)
в httpConnection.startLiveView
блок Я получаю данные изображения в реальном времени.