Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用ARKit在两个ArscnView中显示同一场景?_Ios_Swift_Scenekit_Augmented Reality_Arkit - Fatal编程技术网

Ios 如何使用ARKit在两个ArscnView中显示同一场景?

Ios 如何使用ARKit在两个ArscnView中显示同一场景?,ios,swift,scenekit,augmented-reality,arkit,Ios,Swift,Scenekit,Augmented Reality,Arkit,我的视图控制器有问题。我正在尝试创建一个应用程序,使用ARKit在两个AR场景上显示。我试图使用outlet集合,但出现错误,类型“[ARSCNView]”的值没有成员。我是从斯威夫特开始的,所以我不知道一些事情 这是我的密码: import UIKit import SceneKit import ARKit class ViewController: UIViewController { @IBOutlet var bothEyes: [ARSCNView]! overr

我的视图控制器有问题。我正在尝试创建一个应用程序,使用ARKit在两个AR场景上显示。我试图使用outlet集合,但出现错误,类型“[ARSCNView]”的值没有成员。我是从斯威夫特开始的,所以我不知道一些事情

这是我的密码:

import UIKit
import SceneKit
import ARKit

class ViewController: UIViewController {
    @IBOutlet var bothEyes: [ARSCNView]!

    override func viewDidLoad() {
        super.viewDidLoad()

        let configuration = ARWorldTrackingConfiguration()
        configuration.planeDetection = .horizontal

        let cubeNode = SCNNode(geometry: SCNBox(width: 0.2, height: 0.2, length: 0.2, chamferRadius: 0.0))
        cubeNode.position = SCNVector3(0, 0, -0.2)// in meters

        bothEyes.session.run(configuration)
        bothEyes.scene.rootNode.addChildNode(cubeNode)
    }
}

您只需在两个
ARSCNViews
之间共享一个
ARSession
(正如我前面所说,您需要一个代表):

但是记住!帧速率
60 fps
现在在两个
arscnview
之间共享(30 fps+30 fps)

我使用
水平堆栈视图
线性排列
arscnview


很抱歉,您能进一步澄清吗?我不太理解委托实例部分。我还试图让视图控制器从ARSCNViewDelegate继承,但现在文件中的所有方法都显示错误,如“方法不重写其超类中的任何方法”和“类型为'NSObject'的值没有成员”,我希望以虚拟现实设备的方式观察它。两个屏幕,相同的视图(目前)。我想看看我是否能用ARKit做到这一点。很抱歉,我没有解释我想用它做什么两个ARViews,很抱歉Hello@ARGeo,我有一个问题需要帮助。我得到一个屏幕更新,但另一个不更新。(两个摄像头都可以工作)。你能帮忙吗?我在用iphone7
import UIKit
import SceneKit
import ARKit

class ViewController: UIViewController, ARSCNViewDelegate {

    @IBOutlet weak var sceneView: ARSCNView!
    @IBOutlet weak var sceneView2: ARSCNView!

    override func viewDidLoad() {
        super.viewDidLoad()

        sceneView.delegate = self
        sceneView.showsStatistics = true
        let scene = SCNScene(named: "art.scnassets/ship.scn")!
        sceneView.scene = scene
        sceneView.isPlaying = true

        // SceneView2 Setup
        sceneView2.scene = scene
        sceneView2.showsStatistics = sceneView.showsStatistics

        // Now sceneView2 starts receiving updates
        sceneView2.isPlaying = true     
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        let configuration = ARWorldTrackingConfiguration()
        sceneView.session.run(configuration)
    }
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        sceneView.session.pause()
    }
}