Hallo zusammen,
ich bin es mal wieder. Nach langem Probieren habe ich es dann doch noch hinbekommen und ein einfaches Objekt mit Gesten bewegen/skalieren/rotieren können. Im Nachhinein betrachtet war es eigentlich ganz einfach. Wenn man weis, wie man es machen muss.
Jetzt habe ich aber ein neues Problem. Vielleicht wäret ihr noch mal so nett und helft mir.
Ich habe mir die Augmented Reality Grunddatei in Xcode genommen (die mit der Experience.rcproject Datei darin). Ich habe diesen Code im ViewController eingegeben:
Alles anzeigen
Und es funktioniert. Das Objekt, also der Würfel, läßt sich mit Gesten steuern.
Dann habe ich im RealityComposer (aus Xcode heraus) ein zweites Objekt (ich habe den Würfel dupliziert) erstellt, neu benannt und mit dem ersten Würfel gruppiert. Die Gruppe habe ich "boxGroup" genannt. Dann habe ich den Code entsprechend angepasst, dass der Verweis nicht mehr auf "steelBox" geht, sondern auf "boxGroup". Aber jetzt geht die Gestensteuerung nicht mehr.
Hier der Code dazu:
Alles anzeigen
Was mache ich falsch?
Ich habe den Befehl "print (boxAnchor)" hinzugefügt und bekommen nun eine Auflistung. Da ist mit aufgefallen, dass die Würfel als modelEntity definiert sind, während die Gruppe ein Entity ist. Hat das etwas mit meinem Problem zu tun?
Danke für eure Hilfe.
Thomas
ich bin es mal wieder. Nach langem Probieren habe ich es dann doch noch hinbekommen und ein einfaches Objekt mit Gesten bewegen/skalieren/rotieren können. Im Nachhinein betrachtet war es eigentlich ganz einfach. Wenn man weis, wie man es machen muss.
Jetzt habe ich aber ein neues Problem. Vielleicht wäret ihr noch mal so nett und helft mir.
Ich habe mir die Augmented Reality Grunddatei in Xcode genommen (die mit der Experience.rcproject Datei darin). Ich habe diesen Code im ViewController eingegeben:
Quellcode
- import UIKit
- import RealityKit
- class ViewController: UIViewController {
- @IBOutlet var arView: ARView!
- override func viewDidLoad() {
- super.viewDidLoad()
- // Load the "Box" scene from the "Experience" Reality File
- let boxAnchor = try! Experience.loadBox()
- if let box = boxAnchor.steelBox?.children.first as? ModelEntity {
- box.generateCollisionShapes(recursive: true)
- arView.installGestures(.all, for: box)
- }
- // Add the box anchor to the scene
- arView.scene.anchors.append(boxAnchor)
- }
- }
Und es funktioniert. Das Objekt, also der Würfel, läßt sich mit Gesten steuern.
Dann habe ich im RealityComposer (aus Xcode heraus) ein zweites Objekt (ich habe den Würfel dupliziert) erstellt, neu benannt und mit dem ersten Würfel gruppiert. Die Gruppe habe ich "boxGroup" genannt. Dann habe ich den Code entsprechend angepasst, dass der Verweis nicht mehr auf "steelBox" geht, sondern auf "boxGroup". Aber jetzt geht die Gestensteuerung nicht mehr.
Hier der Code dazu:
Quellcode
- import UIKit
- import RealityKit
- class ViewController: UIViewController {
- @IBOutlet var arView: ARView!
- override func viewDidLoad() {
- super.viewDidLoad()
- // Load the "Box" scene from the "Experience" Reality File
- let boxAnchor = try! Experience.loadBox()
- if let box = boxAnchor.boxGroup?.children.first as? ModelEntity {
- box.generateCollisionShapes(recursive: true)
- arView.installGestures(.all, for: box)
- }
- // Add the box anchor to the scene
- arView.scene.anchors.append(boxAnchor)
- }
- }
Ich habe den Befehl "print (boxAnchor)" hinzugefügt und bekommen nun eine Auflistung. Da ist mit aufgefallen, dass die Würfel als modelEntity definiert sind, während die Gruppe ein Entity ist. Hat das etwas mit meinem Problem zu tun?
Danke für eure Hilfe.
Thomas
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ovidus ()