Hi zusammen,
Ich komme mal wieder nicht weiter und benötige etwas input. Eine Idee wo ich ansetzen könnte.
Ich habe zwei Projekte erstellt.
Das eine Projekt löst beim Start der Szene und beim Klick auf einen Menü-Button über Mitteilungen Verhaltensweise aus. Wenn die Szene startet, wird eine grüne Spirale ausgeblendet und durch einen Klick auf den Button wird die grüne Spirale eingeblendet. Das funktioniert so wie ich es möchte.
Mein zweites Projekt ist das mit der Gestensteuerung auf Gruppen von Objekten. Auch das funktioniert so wie ich es möchte. Hier kann man die Gruppe aus zwei verschiedenfarbigen Spiralen (die gleichen wie oben) mit Gesten steuern (drehen, skalieren, verschieben).
Nun möchte ich aber beides zusammen bringen. Also dass die Objekte in einer Gruppe über Notifications angesprochen werden können, die Gruppe aber auch der Gestensteuerung folgt.
Ich habe beide Codes zusammengebracht und es funktioniert auch. Nur nicht so wie ich es möchte. Ich bekomme jetzt die Spiralen doppelt (also 4 Spiralen). Das eine Paar hat dann die Funktion der Gestensteuerung und das andere die Verhaltensweisen. Um beide Paare zu sehen müsst ihr das Paar mit der Gestensteuerung mit dem Finger etwas nach vorne schieben. Dann seht ihr auch die dritte Spirale. Durch einen Klick auf den Button wird dann die vierte Spirale eingeblendet.
Wenn man sich den Code anschaut, ist das auch logisch.
Ich habe jetzt Stunden versucht es hinzubekommen, aber es will einfach nicht klappen. Es wurde immer komplizierter. Daher hier der Ursprungscode.
Hat einer eine Idee?
Das Projekt könnt ihr euch hier herunter laden. Ist nur ca. 1 MB
wetransfer.com/downloads/2e217…6f1c20220203152827/cf5ad8
Danke
Tom
Alles anzeigen
Ich komme mal wieder nicht weiter und benötige etwas input. Eine Idee wo ich ansetzen könnte.
Ich habe zwei Projekte erstellt.
Das eine Projekt löst beim Start der Szene und beim Klick auf einen Menü-Button über Mitteilungen Verhaltensweise aus. Wenn die Szene startet, wird eine grüne Spirale ausgeblendet und durch einen Klick auf den Button wird die grüne Spirale eingeblendet. Das funktioniert so wie ich es möchte.
Mein zweites Projekt ist das mit der Gestensteuerung auf Gruppen von Objekten. Auch das funktioniert so wie ich es möchte. Hier kann man die Gruppe aus zwei verschiedenfarbigen Spiralen (die gleichen wie oben) mit Gesten steuern (drehen, skalieren, verschieben).
Nun möchte ich aber beides zusammen bringen. Also dass die Objekte in einer Gruppe über Notifications angesprochen werden können, die Gruppe aber auch der Gestensteuerung folgt.
Ich habe beide Codes zusammengebracht und es funktioniert auch. Nur nicht so wie ich es möchte. Ich bekomme jetzt die Spiralen doppelt (also 4 Spiralen). Das eine Paar hat dann die Funktion der Gestensteuerung und das andere die Verhaltensweisen. Um beide Paare zu sehen müsst ihr das Paar mit der Gestensteuerung mit dem Finger etwas nach vorne schieben. Dann seht ihr auch die dritte Spirale. Durch einen Klick auf den Button wird dann die vierte Spirale eingeblendet.
Wenn man sich den Code anschaut, ist das auch logisch.
Ich habe jetzt Stunden versucht es hinzubekommen, aber es will einfach nicht klappen. Es wurde immer komplizierter. Daher hier der Ursprungscode.
Hat einer eine Idee?
Das Projekt könnt ihr euch hier herunter laden. Ist nur ca. 1 MB
wetransfer.com/downloads/2e217…6f1c20220203152827/cf5ad8
Danke
Tom
Quellcode
- import UIKit
- import RealityKit
- import ARKit
- class ViewController: UIViewController {
- @IBOutlet var arView: ARView!
- // Define Variable
- var sceneAnchor: Spiralrc.MainScene?
- // Button and notification
- @IBAction func buttonSpiral(_ sender: Any) {
- sceneAnchor!.notifications.showSpiralAction.post()
- }
- override func viewDidLoad() {
- super.viewDidLoad()
- // Load Scene
- sceneAnchor = try! Spiralrc.loadMainScene()
- // Add Scene to anchor
- arView.scene.anchors.append(sceneAnchor!)
- // THIS IS THE CODE FOR THE GROUP WITH GESTURES
- // Load scene
- let sceneAnchor = try! Spiralrc.loadMainScene()
- // Create transparent object
- let transparentBox = ModelEntity(mesh: .generateBox(size: [0.1,0.1,0.1]),materials: [SimpleMaterial(color: .clear, isMetallic: false)])
- // Load group of geometry
- let spiralBoxEntity = sceneAnchor.findEntity(named: "spiralGroup")
- // Load group of geometry to transparent box as child
- transparentBox.addChild(spiralBoxEntity!)
- // Add collision and gestures to transparent box
- transparentBox.generateCollisionShapes(recursive: true)
- arView.installGestures(.all, for: transparentBox)
- // Add plane anchor to scene
- let modelAnchor = AnchorEntity(plane: .horizontal)
- // Add transparent box to anchor
- modelAnchor.addChild(transparentBox)
- // Add anchor to scene
- arView.scene.anchors.append(modelAnchor)
- //END OF CODE FOR THE GROUP WITH GESTURES
- }
- }
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von ovidus ()