我一直在按照教程创建AR标尺。因此,通过下面的代码,我可以将3D球体放置在我的场景中(我希望保留跟踪功能)。但是,我不是在拍摄3D图像,而是在寻找图像。我尝试更改dotGeometry并将其设置为UIImage并注释掉材料代码,但不确定如何处理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)
答案 0 :(得分:1)
您可以创建一个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),如下所述:How can I overlay a SKScene over a SCNScene in Swift?