SceneKit-设置SCNPlane位置会将其粘贴到相机

时间:2018-06-29 14:39:46

标签: swift scenekit arkit

我想创建一些SCNPlanes来定位它,使其类似于AR Twitter客户端TweetReality应用程序中的显示。 https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2017/12/tweet-reality-796x419.png

我正在使用SceneKit,因为我的应用程序中也有3D模型。

-要显示这些SCNPlanes,我应该为每个节点创建ARAnchor还是直接创建节点并将其直接定位?

-如果最好创建ARAnchor,如何在用户无需触摸屏幕的情况下创建它们?获取会话的当前帧并定位它?

我正在使用此代码放置SCNPlane,但是它被胶合(指向空白)到相机,而如果我使用SCNSphere几何体或适当地改变其位置。

    let plane = SCNPlane(width: 1, height: 1)
    plane.firstMaterial?.diffuse.contents = UIImage(named: "bubbleBlue")
    plane.firstMaterial?.isDoubleSided = true
    let sceneNode = SCNNode(geometry: plane)
    sceneNode.position = SCNVector3Make(0, 0, -2)
    sceneView.scene.rootNode.addChildNode(sceneNode)

使用先前的代码进行粘贴,并适当放置以下内容:

    let sphere = SCNSphere(radius: 1)
    sphere.firstMaterial?.diffuse.contents = UIImage(named: "bubbleBlue")
    let sceneNode = SCNNode(geometry: sphere)
    sceneNode.position = SCNVector3Make(0, 0, -2)
    sceneView.scene.rootNode.addChildNode(sceneNode)

我正在使用iPhone 6s的ARWorldTrackingConfiguration。

感谢您的帮助

0 个答案:

没有答案