Wir empfehlen bei der Erstellung von Mixed Reality-Erlebnissen dringend, deinen Inhalt im Hinblick auf Gesundheit und Sicherheit zu bewerten, um deinen Nutzer*innen ein angenehmes und sicheres Erlebnis zu bieten. Lies dir die Richtlinien zu Gesundheit und Sicherheit für Mixed Reality durch, bevor du deine App mithilfe dieses Beispielprojekts oder eine unserer Presence Platform-Funktionen entwirfst und entwickelst. Entwickler*innen sollten eine falsche Verdeckung vermeiden, die auftritt, wenn virtuelle Inhalte die physische Umgebung des*der Nutzer*in nicht berücksichtigen (d. h. Entwickler*innen sollten die Szene nutzen, um Inhalte im freien Raum zu platzieren oder die Depth-API verwenden). Falsche Verdeckung kann du einer Fehlwahrnehmung des nutzbaren Raums führen.
Bei den meisten Anwendungsfällen kannst du die Funktion „World-Locking“ des Mixed Reality Utility Kit (MRUK) verwenden, das mithilfe von Anchors das World-Locking erleichtert, ohne dass du die Anchors direkt verwenden musst. Dazu wird die Position des HMD subtil angepasst, sodass virtuelle Objekte in der physischen Umgebung verankert zu sein scheinen, ohne dass du selbst Anchors erstellen (oder mit ihnen interagieren) musst.
Was sind Raumanker?
Ein Anchor ist ein ortsfester Referenzpunkt, der eine Position oder Orientierung für ein virtuelles Objekt in der realen Welt gibt.
Nachdem du diese Seite gelesen hast, solltest du Folgendes können:
Die Funktion und den Zweck von Raumankern in Mixed Reality beschreiben.
Die Interaktionsmodelle für verschiedene Arten von Spielen und Apps mit Raumankern erklären.
Den Lebenszyklus eines Raumankers von der Erstellung bis zum Teilen beschreiben.
Reale Beispiele
Für Raumanker gibt es zahlreiche Anwendungsmöglichkeiten. So kann man z. B. virtuelle Schilder auf realen Möbeln platzieren oder Erscheinungspunkte an realen Fenstern erstellen, durch die virtuelle Charaktere fliegen können.
Die folgende Abbildung zeigt, wie vier Raumanker für verschiedene Arten von Inhalten wie virtuelles Spielzeug, dekorative Pflanzen und 2D-Panel-Medienerlebnisse verwendet werden können.
Abbildung 1: Wiederverwendung von Anchors für mehrere virtuelle Objekte.
Anwendungsfälle und Interaktionsmodell
Sportspiele und Casual Games: Nutzer*innen können Spiele wie Minigolf, Schnitzeljagden und Hindernisparcours in erweiterten Bereichen wie Wohnzimmer, Flur oder Esszimmer spielen.
Action-Spiele: Abenteuerspiele, Rätsel und virtuelle Escape Rooms können sich über mehrere Räume erstrecken und eine ganze Wohnung nutzen.
Erweiterung und Dekoration: Nutzer*innen können ihr Haus virtuell umgestalten, indem sie Webbrowser-Tabs und Widgets für Wetter und Nachrichten anheften oder neue Möbel und Dekorationen hinzufügen.
Bau- und Simulationsspiele: Der Spielbereich kann nach Belieben um Rennstrecken, simulierte Städte und Rube-Goldberg-Maschinen erweitert werden.
Abbildung 2: Konzeptionelle Darstellung eines Anchor mit Orientierung und Position.
Wie funktionieren Raumanker?
Apps können für jedes virtuelle Objekt einen Anchor verwenden. Es können auch mehrere virtuelle Objekte denselben Anchor verwenden, solange sich diese Objekte innerhalb des Erfassungsbereichs von drei Metern befinden. Die Anchors API ermöglicht es, die Position über Sitzungen hinweg beizubehalten, zu entdecken und mit anderen Nutzer*innen zu teilen, sowohl synchron als auch asynchron.
Abbildung 3: Klassen von Anwendungsfällen, die Anchor verwenden. Oben: Sport- und Action-Spiele. Unten: Erweiterung und Builder.
Aus Sicht des Interaktionsmodells gibt es zwei Arten von Apps: nutzungsorientierte Bewegung und App-Narrative-Bewegung.
Bei der nutzungsorientierten Bewegung handelt es sich um eine reaktive Anwendung, die sich anpasst oder neue Inhalte anzeigt, wenn der*die Nutzer*in mehr Platz benötigt. Beispiele für Anwendungsfälle:
Erweitern und dekorieren: Nutzer*innen können den Spielbereich nach Belieben auf mehrere Räume ausdehnen und dabei Videos, Browser-Tabs und Fotos als Dekoration verwenden.
Builder-Spiele: Nutzer*innen können den Spielbereich über einen einzelnen Raum hinaus erweitern und Rennstrecken oder simulierte Städte bauen.
Bei der App-Narrative-Bewegung handelt es sich um eine proaktive App, bei der der*die Nutzer*in bei der Einrichtung oder im dynamischen Spielverlauf relevante Raumtypen aus der Umgebung auswählt. Beispiele für Anwendungsfälle:
Sportspiele und Casual Games: Nutzer*innen maximieren einen offenen Raum, um die Szenerie auf einmal zu gestalten, geeignet für Minigolf oder Hindernisparcours.
Action-Spiele: Die App generiert Gameplay und erzeugt Bewegung vor den Augen des*der Nutzer*in, um das Engagement zu erhöhen, nützlich für Abenteuer- und Puzzlespiele.
Abbildung 4: Beispiel einer App-gesteuerten Interaktion, bei der sich der*die Nutzer*in weiter durch den Raum bewegt, um in einem Minigolfspiel voranzukommen.
Raumanker und Szenenanker
Eine App kann zwei Arten von Anchors nutzen:
Raumanker, die von der App erstellt werden und dieser gehören und innerhalb ihres Kontexts privat bleiben. Entwickler*innen können diese Anchors erstellen, indem sie virtuelle Inhalte an bestimmten Positionen und Orten platzieren, oder sie können diesen Prozess automatisieren, um lokale Multiplayer-Sitzungen zu verbessern.
Scene Anchors werden vom System erstellt und gehören diesem. Diese Arten von Anchors liefern Einblicke in die Umgebung des*der Nutzer*in, etwa die Position und Größe von Möbelstücken und Wänden. Apps können diese Anchors nicht ändern, aber sie können auf diese mit Nutzungsberechtigung zugreifen. Diese Anchors sind für alle Apps einheitlich und arbeiten auf Systemebene.
Der Lebenszyklus eines Anchors
Um virtuelle Inhalte in der realen Welt zu platzieren, musst du zunächst einen Raumanker erstellen. Speichere den Anchor dann, um ihn über mehrere Sitzungen hinweg beizubehalten. In späteren Sitzungen oder bei der Verwendung eines großen Raums, z. B. eines ganzen Hauses, kannst du die gespeicherten Anchors abfragen und suchen. Bei Apps, bei denen mehrere Nutzer*innen am selben Ort dasselbe koordinierte System nutzen, kann ein*e Nutzer*in einen Anchor mit anderen teilen, um eine einheitliche Perspektive und Ausrichtung zu gewährleisten.
Bei Anwendungsfällen in großen Bereichen wird das System über einen einzelnen Raum hinaus erweitert:
Erstellen und Verfolgen: Apps können Anchors in einem großen Bereich, etwa einem Haus, erstellen und verfolgen.
Speichern und Löschen: Anchors können für eine App-übergreifende Verwendung gespeichert und dann gelöscht werden, wenn sie nicht mehr benötigt werden. Anchors haben eine Abstraktion zwischen dem lokalen Gerätespeicher und dem Speicher auf Meta-Servern.
Entdeckung: Anchors ermöglichen adaptive Erlebnisse, indem die Umgebung des*der Nutzer*in erkannt wird. Wenn sich ein*e Nutzer*in bewegt, kann er*sie auf Szenenanker und Raumanker zugreifen. In größeren Räumen unterstützt die Raumerkennung das Starten eines Erlebnisses in einem beliebigen Raum. Wenn sich Nutzer*innen zwischen Räumen bewegen, werden neue Pfade entdeckt und Anchors in getrennten Bereichen zusammen angezeigt.
Teilen: Das Teilen eines Raumankers mit mehreren Nutzer*innen schafft einen gemeinsamen Bezugsrahmen. Durch diese gemeinsame Perspektive können Nutzer*innen dieselbe erweiterte Realität wahrnehmen, was die Zusammenarbeit oder das Gameplay erleichtert.
Während sich der*die Nutzer*in durch den Raum bewegt, werden alle Anchor-Vorgänge (Erstellen, Beibehalten, Löschen, Freigeben und Entdecken) unterstützt.