2017-09-27 1 views
0

자습서를 따라 AR 눈금자를 작성했습니다. 따라서 아래 코드를 사용하면 3D 영역을 내 장면에 배치 할 수 있습니다 (추적 기능을 유지하려고합니다). 그러나 3D 이미지 대신 이미지를 배치하려고합니다. dotGeometry를 변경하고 UIImage로 설정하고 재료 코드를 주석 처리했지만 dotNode 코드를 처리하는 방법을 알지 못했습니다. 따라서 화면에 추가로 내 이미지를 어떻게 설정할 수 있습니까?3D 모양 기하학과 반대로 2D UIImage를 배치하는 코드 변경

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

를? 비행기. '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) 

또는 다른 접근 방식을 따르고 여기에 설명 된대로 SCNScene (3D)에 오버레이 SKScene (2D)를 추가 할 수 있습니다 세 번째 차원을 고려 뭔가 2D가 무엇 모양 How can I overlay a SKScene over a SCNScene in Swift?