Hi Michael,
Thank you so mich for your responce!
The probem seemes to be on the 6th and the setupPanoramaScene fuction lines.
Here is the full snipppet of code:
class PanoramaPlayerController: UIViewController {
private let videoURL: URL
private var videoPlayer: AVPlayer!
private var videoNode: ModelEntity!
private var anchorEntity: AnchorEntity!
private var realityView: RealityView<Entity>!
var gestureDelegate: GestureDelegate?
init(videoURL: URL) {
self.videoURL = videoURL
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
// Create RealityView
realityView = RealityView { content in
self.setupPanoramaScene(for: content)
}
view.addSubview(realityView)
realityView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
realityView.topAnchor.constraint(equalTo: view.topAnchor),
realityView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
realityView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
realityView.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])
setupGestureRecognition()
}
private func setupPanoramaScene(for content: RealityView<Entity>.Content) {
let sphere = MeshResource.generateSphere(radius: 10)
videoPlayer = AVPlayer(url: videoURL)
let material = VideoMaterial(avPlayer: videoPlayer)
videoNode = ModelEntity(mesh: sphere, materials: [material])
videoNode.transform = Transform(pitch: .pi / 2, yaw: 0, roll: 0)
anchorEntity = AnchorEntity(world: .zero)
anchorEntity.addChild(videoNode)
content.add(anchorEntity)
videoPlayer.play()
}