2017-09-27 34 views
0

我一直在關注教程以創建AR尺子。因此,使用下面的代碼,我可以將3D球體放置在我的場景中(我希望保留跟蹤功能)。但是,我正在尋找放置圖像而不是3d圖像。我試圖改變dotGeometry並將其設置爲UIImage並註釋掉材質代碼,但不知道如何處理dotNode的一段代碼。因此,我如何能夠將我的圖像設置爲屏幕添加結果?更改代碼以放置2D UIImage而不是3D形狀幾何

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) 
+1

是2D的東西,當你考慮什麼形狀的第三維度?一架飛機。如果你想保持它始終指向相機,請參閱'SCNPlane',並使用'SCNBillboardConstraint'。 – rickster

回答

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?

相關問題