更改代码以放置 2D UIImage 而不是 3D 形状几何

Altering code to place 2D UIImage as opposed to 3D shape geometry

我一直在按照教程创建 AR 标尺。因此,使用下面的代码,我可以将 3D 球体放置在我的场景中(我希望保留它以实现跟踪功能)。但是,我不是要放置 3d 图像,而是要放置图像。我尝试更改 dotGeometry 并将其设置为 UIImage 并注释掉 material 代码,但不确定如何处理 dotNode 代码段。因此,我如何才能将我的图像设置为屏幕上添加的结果?

let dotGeometry = SCNSphere(radius: 0.005)
    let material = SCNMaterial()
    material.diffuse.contents = UIColor.red

    dotGeometry.materials = [material]

    let dotNode = SCNNode(geometry: dotGeometry)

    dotNode.position = SCNVector3(hitResult.worldTransform.columns.3.x, hitResult.worldTransform.columns.3.y, hitResult.worldTransform.columns.3.z)

    sceneView.scene.rootNode.addChildNode(dotNode)

您可以创建一个 SCNBox 并将其长度设置为非常小的值以使其看起来平坦。

let box = SCNBox(width: 0.2, height: 0.2, length: 0.005, chamferRadius: 0)
let material = SCNMaterial()
material.diffuse.contents = UIImage(named: "image.png")
box.materials = [material]

boxNode = SCNNode(geometry: box)
boxNode.opacity = 1.0
boxNode.position = SCNVector3(0,0,-0.5)

scene.rootNode.addChildNode(boxNode)

或者您可以按照另一种方法将叠加层 SKScene (2D) 添加到 SCNScene(3D),如下所述: