如何使用 Scenekit(ARKit) iOS 11 以编程方式在给定宽度和高度的相机上创建正方形或矩形覆盖(平面)?

How to create a square or rectangle overlay(plane) over camera with given width and height programmatically using Scenekit(ARKit) iOS 11?

我是 AR 的新手,我想使用 iOS 11 ARKit- Scenekit 根据给定的相机宽度和高度创建正方形或矩形叠加层。

我尝试使用 https://developer.apple.com/sample-code/wwdc/2017/PlacingObjects.zip,它在中心显示了一个焦点方块,我们可以使用它来定位任何 3D 模型。但是确实不稳定

是否可以根据我们要放置的3D模型的大小,创建一个类似于上面示例中的焦点方块的平面,以便

1) 我们可以把飞机拖到任何地方

2) 旋转平面

3) 将 3D 模型放置在焦点正方形(平面)上

与此类似http://www.madewitharkit.com/post/163259313638/arkit-furniture-dropping-app-by

一个简单的方法来实现你的需求:准备一个矩形图标,然后用以下方法生成一个SCNNode

func geometryNodeFromImage(named name: String, width: CGFloat, height: CGFloat, length: CGFloat) -> SCNNode {
    let box = SCNBox(width: width, height: height, length: length, chamferRadius: 0)

    let rectangleMaterial = SCNMaterial()
    rectangleMaterial.diffuse.contents = UIImage(named: name)
    box.materials = [rectangleMaterial]

    return SCNNode(geometry: box)
}