Swift-什么是SCNCamera的定义和目的

问题描述 投票:0回答:1

我找不到SCNCamera的含义及其用途的很好解释。这是Apple's definition

一组摄像机属性,可以附加到节点以提供显示场景的角度。

此定义不清楚,因为我设置了场景并添加了SCNNode而不附加SCNCamera。从设备相机的角度来看,SCNNode毫无问题地显示在我所处的位置,并且场景显示良好。

设备的相机和SCNCamera有什么区别?

SCNCamera附加到SCNNode与不使用它有什么好处?

如果我有多个SCNNodes(彼此之间没有任何层次结构分离,每个节点是否需要它自己的SCNCamera

如果我在SCNNodes中有多个hierarchy(具有子节点的父节点),每个节点都需要它自己的SCNCamera还是仅仅是父节点?

lazy var sceneView: ARSCNView = {
    let sceneView = ARSCNView()
    sceneView.translatesAutoresizingMaskIntoConstraints = false
    sceneView.delegate = self
    return sceneView
}()

let configuration = ARWorldTrackingConfiguration()

override func viewDidLoad() {
    super.viewDidLoad()

    // pin sceneView to the view

    let material = SCNMaterial()
    material.diffuse.contents = UIImage(named: "earth")

    let plane = SCNPlane(width: 0.33, height: 0.33)
    plane.materials = [material]
    plane.firstMaterial?.isDoubleSided = true

    let myNode = SCNNode(geometry: plane)
    myNode.name = "earth"
    myNode.position = SCNVector3(0.0, 0.6, -0.9)

    sceneView.scene.rootNode.addChildNode(myNode)
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    sceneView.session.run(configuration, options: [])
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillAppear(animated)

    sceneView.session.pause()
    sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}
ios swift arkit scnnode scncamera
1个回答
0
投票

在SceneKit中,SCNCamera表示用户从中看到场景的视点。 Ray Wenderlich提供了很好的解释:


0
投票

我从此SCNCamera中得到了我问题的答案。基本上在使用SCNCamera - SceneKit的ARKit中,相机的贫困来自answer,但在SceneKit中,您需要创建一个相机以获取相机的POV(下面的代码)。

© www.soinside.com 2019 - 2024. All rights reserved.