RealityView mit interaktivem Overlay-Button
Beschreibung
ZeigtDiese einenView zeigt eine einfache 3D-Box in einer RealityKit-Szene und kombiniert sie mit einem SwiftUI-Overlay. Ein Button inim einemVordergrund virtuellenermöglicht Raum,die Interaktion, ohne die Darstellung der beim3D-Szene Anklickenzu einenstören.
🔍 EffektZweck
- Kombination von 3D-Inhalten mit klassischen UI-Elementen
- Erstellung interaktiver AR/VR-Szenen mit Overlay-Steuerung
- Prototypen für Immersive Experiences in visionOS
- Einbindung von Buttons für Aktionen wie Interaktion oder Navigation
- Test von RealityKit-Inhalten mit SwiftUI-Layouts
🖥️ Betriebssystem
visionOS
📄 Codebeispiel
import SwiftUI
import RealityKit
import RealityKitContent
@main
struct RealityOverlayApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
var body: some View {
ZStack {
// RealityKit scene with a simple 3D box
RealityView { content in
let box = ModelEntity(mesh: .generateBox(size: 0.1))
// Position the box slightly in front of the user
box.position = [0, 0, -0.5]
content.add(box)
}
// Overlay UI with a button for interaction
VStack {
Spacer()
HStack {
Spacer()
Button(action: {
// Placeholder for interaction logic
print("AR Button Pressed")
}) {
Label("Interact", systemImage: "hand.tap")
.padding()
.background(.ultraThinMaterial)
.clipShape(Capsule())
}
.padding()
}
}
}
// Extend scene to cover entire window
.edgesIgnoringSafeArea(.all)
}
}
// Modern Swift 5.10+ preview syntax
#Preview {
ContentView()
}