Ihr Code sieht gut aus und es sollte funktionieren. Ich habe es wie folgt ausprobiert: Nachdem ich eine neue App mit ARKit Template erstellt habe, habe ich die Funktion viewDidLoad ersetzt.
override func viewDidLoad() {
super.viewDidLoad()
// Set the view's delegate
sceneView.delegate = self
let box = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
let node = SCNNode(geometry: box)
node.position = SCNVector3(0,0,0)
sceneView.scene.rootNode.addChildNode(node)
}
Erzeugt eine Box am ursprünglichen Punkt (0, 0, 0). Leider befindet sich Ihr Gerät in der Box, so dass Sie diese Box nicht direkt sehen können. Um die Box zu sehen, bewege dein Gerät ein wenig weiter.
Das beigefügte Bild ist die Box nach meinem Gerät bewegen:
Wenn Sie es sofort sehen möchten, das Feld nach vorne ein wenig zu bewegen, Farbe hinzufügen und das erste Material doppelseitig sein machen (um es zu sehen, auch in oder außerhalb der Seite):
let box = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
box.firstMaterial?.diffuse.contents = UIColor.red
box.firstMaterial?.isDoubleSided = true
let boxNode = SCNNode(geometry: box)
boxNode.position = SCNVector3(0, 0, -1)
sceneView.scene.rootNode.addChildNode(boxNode)
Ich habe einen Build-Fehler und änderte diesen Teil. Es hat nicht funktioniert, also habe ich es geändert. ‚node.position = SCNVector3Make ((HitResult? .worldTransform.columns.3.x) !, (HitResult? .worldTransform.columns.3.y) !, (HitResult? .worldTransform.columns.3.z)!) ' – ParalaxWobat
Hat es dann funktioniert? – OxyFlax
Es wurde kein Würfel hinzugefügt. Ich habe etwas Einfaches versucht, um der Szene in AR einfach einen Würfel hinzuzufügen. Ich bin mir nicht sicher, warum es nicht funktioniert. – ParalaxWobat