Vor Kurzem hat Apple Vision Pro herausgebracht und ich hatte das Glück, stolzer Besitzer zu werden. Seitdem bin ich intensiv mit der Entwicklung meiner Anwendung beschäftigt und erkunde verschiedene Apps und Trends im Vision Pro App Store.
Eine Sache, die meine Aufmerksamkeit erregt hat, ist, dass jeden Tag neue Apps herauskommen, aber nur wenige davon gut zum immersiven Virtual-Reality-Erlebnis passen. Ich schätze, viele Entwickler haben Schwierigkeiten, Dokumentation und Beispiele für die Funktionen von Vision Pro zu finden. Die Nutzung der Funktionen von Vision Pro kann Ihre Anwendung jedoch von der Masse abheben und den Benutzern ein verbessertes Erlebnis bieten.
In diesem Artikel teile ich einige Tipps und Tricks, die ich beim Erstellen meiner Anwendung entdeckt habe. Diese Tipps werden nicht nur dazu beitragen, dass Ihre Anwendung hervorsticht, sondern auch dafür sorgen, dass sie nahtlos in VisionOS integriert wird und sich wie ein natives System anfühlt.
Sie haben sicher schon bemerkt, dass beim Betrachten eines Videos oder Fotos der Hintergrund hinter dem Fenster abgedunkelt wird. In den Einstellungen nennt sich das „Auto-Dimmen“. Um denselben Effekt zu erzielen, müssen Sie .preferredSurroundingsEffect(.systemDark)
auf Ihre Ansicht anwenden. Dann wird der Raum um den Benutzer herum abgedunkelt und Ihr Fenster bleibt hell. Dies hilft dabei, den Fokus auf den Inhalt zu richten.
Beim Betrachten eines Videos oder Inhalts möchten Sie, dass der Benutzer nicht abgelenkt wird und dass der Effekt eines in der Luft schwebenden Fensters entsteht. Aus diesem Grund hat Apple uns die Möglichkeit gegeben, die untere Leiste des Fensters auszublenden, die zum Verschieben oder Schließen des aktuellen Fensters verwendet wird. Mit .persistentSystemOverlays(.hidden)
können Sie diese Steuerleiste in Ihrem Fenster ausblenden. Sie verschwindet mit der Standardanimation und wird nur angezeigt, wenn der Benutzer mit dem Fenster interagiert.
Wenn Sie die Standardanwendung von Apple TV öffnen und einen Film einschalten, werden Sie feststellen, dass das Filmfenster eine Reflexion aufweist, die sich mit jedem Bild ändert, was einen intensiveren Effekt ergibt. Um einen Glüheffekt um Ihr Video herum zu erzielen, müssen Sie VideoPlayerComponent
verwenden und isPassthroughTintingEnabled
aktivieren. Dann ist der Effekt derselbe wie bei Apple TV oder HBO Max. In der Dokumentation heißt es dazu:
Dadurch wird die Passthrough-Tönung während der Videowiedergabe aktiviert. Diese wird um das Video herum angezeigt, indem die Durchschnittsfarbe des Frames angenommen und der Passthrough mit dieser Farbe getönt wird, um das Video hervorzuheben.
Möglicherweise möchten Sie verhindern, dass der Benutzer die Fenstergröße ändert. Dafür gibt es eine Möglichkeit:
onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }
Sie können in dieser Methode auch zusätzliche Größeneinstellungen angeben. Die vollständige Signatur der Methode sieht folgendermaßen aus:
windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))
Wenn Ihre Anwendung immersiven Raum verwendet und Sie nicht möchten, dass der Benutzer seine Hände sieht, oder Sie diese durch virtuelle Hände ersetzen möchten, wie dies in AmazeVR der Fall ist, müssen Sie .upperLimbVisibility(.hidden)
verwenden.
Sie haben sicher schon Seitenleisten in VisionOS-Anwendungen gesehen, die wie TabBars
aussehen. Apple hat eine neue View
für VisionOS eingeführt, mit der Sie das Fenster „erweitern“ und auf beiden Seiten Verzierungen hinzufügen können.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }
Eine interessante Tatsache, die ich experimentell überprüfen konnte, ist, dass die Methoden von CMMotionManager nur im immersiven Raum und nicht in der normalen Fensteransicht funktionieren.
VisionOS bietet viele Tools zum Erstellen immersiver Anwendungen, die Benutzer in die virtuelle Welt eintauchen lassen und ihnen das Gefühl geben, Teil davon zu sein. Obwohl immer mehr Anwendungen für Vision Pro veröffentlicht werden, nutzen nur wenige den gesamten Funktionsumfang. Hier bietet sich Ihre Chance, sich abzuheben – nutzen Sie sie und profitieren Sie davon. Leider haben Entwickler Schwierigkeiten, leicht zugängliche Dokumentationen und Beispiele zu finden. Aus diesem Grund schreibe ich diesen Artikel. Ich hoffe, meine Tipps helfen Ihnen dabei, Ihre Anwendung zu verbessern.