A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.cdn.mozilla.net/de/docs/Web/API/WebVR_API/Concepts below:

WebVR-Konzepte - Web-APIs | MDN

WebVR-Konzepte

Hinweis: Die WebVR API wurde durch die WebXR API ersetzt. WebVR wurde nie als Standard ratifiziert, wurde nur in sehr wenigen Browsern implementiert und standardmäßig aktiviert und unterstützte eine geringe Anzahl von Geräten.

Dieser Artikel behandelt einige der Konzepte und Theorien hinter virtueller Realität (VR). Wenn Sie neu in diesem Bereich sind, ist es sinnvoll, sich mit diesen Themen vertraut zu machen, bevor Sie sich in den Code vertiefen.

Die Geschichte der VR

Virtuelle Realität ist nichts Neues — das Konzept reicht weit zurück, über die Oculus Rift Kickstarter-Kampagne von 2012 hinaus. Menschen experimentieren seit Jahrzehnten damit.

1939 wurde das View-Master-Gerät entwickelt, das es Menschen ermöglichte, 3D-Bilder zu sehen. Das Gerät zeigte Bilder, die auf Pappscheiben gespeichert waren und stereoskopische 3D-Paare von kleinen Farbfotografien enthielten. Nach Jahren der Entwicklung begann das Militär, sich für die Nutzung solcher Technologien zu interessieren, und 1961 entstand Projekt Headsight — dabei handelte es sich um einen Helm mit einem Videobildschirm und einem Kopf-Tracking-System.

In den folgenden Jahrzehnten wurden verschiedene Experimente durchgeführt, aber es war nicht mehr nur auf wissenschaftliche Labors und Schlachtfelder beschränkt. Schließlich übernahm die Popkultur, und Filmregisseure zeigten ihre Visionen der virtuellen Realität. Filme wie Tron (1982) und Matrix (1999) wurden geschaffen, in denen Menschen sich in eine völlig neue Cyberwelt transferieren konnten oder in einer gefangen waren, ohne es zu wissen und sie als reale Welt akzeptierten.

Die ersten VR-Spielversuche waren groß und teuer — 1991 entwickelte die Virtuality Group eine VR-fähige Arcade-Maschine mit Brille und portierte beliebte Titel wie Pac-Man in die virtuelle Realität. Sega stellte 1993 auf der Consumer Electronics Show seine VR-Brille vor. Unternehmen experimentierten, aber der Markt und die Verbraucher waren nicht überzeugt — wir mussten bis 2012 warten, um ein echtes Beispiel für ein erfolgreiches VR-Projekt zu sehen.

VR in jüngerer Zeit

Was gibt es Neues? Virtual Reality Hardware muss hochpräzise, latenzarme Daten liefern, um ein akzeptables Benutzererlebnis zu bieten; Computer, die VR-Anwendungen ausführen, müssen leistungsstark genug sein, um all diese Informationen zu verarbeiten. Erst kürzlich sind solche Genauigkeit und Leistung zu erschwinglichen Kosten verfügbar geworden, wenn überhaupt. Frühere VR-Prototypen kosteten Zehntausende von Dollar, während neuere Headsets wie das HTC VIVE und Meta Quest für Hunderte von Dollar erhältlich sind, und günstigere Lösungen verfügbar sind — wie Mobilgeräts-basierte Lösungen wie Google Cardboard.

Auf der Softwareseite hat Valve die SteamVR-Software entwickelt, die mit der VIVE und anderen Lösungen kompatibel ist und den Zugang zu Software wie einer brauchbaren VR-Benutzeroberfläche bietet.

Die Technologie selbst ist da, und die teureren Headsets werden im Laufe der Zeit nur günstiger werden, sodass mehr Menschen in Zukunft virtuelle Realität selbst erleben können.

Eingabegeräte

Die Behandlung von Eingaben für virtuelle Realität-Anwendungen ist ein interessantes Thema — es ist eine völlig neue Erfahrung, für die dedizierte Benutzeroberflächen entworfen werden müssen. Es gibt derzeit verschiedene Ansätze von der klassischen Tastatur und Maus bis hin zu neuen wie Leap Motion und den VIVE-Controllern. Es ist eine Frage von Versuch und Irrtum, um herauszufinden, was in gegebenen Situationen funktioniert und welche Eingaben am besten zu Ihrem Spieltyp passen.

VR-Hardware-Setup

Es gibt zwei Haupttypen von Setups, mobil oder computergebunden. Ihre Mindestausstattung ist wie folgt:

Hinweis: Computergebundene Systeme enthalten manchmal keinen Positionssensor, aber sie tun es normalerweise.

Andere Hardware, die die VR-Erfahrung ergänzt, umfasst:

Position und Orientierung, Geschwindigkeit und Beschleunigung

Wie oben erwähnt, erfasst der Positionssensor Informationen über das HMD und gibt diese kontinuierlich aus, sodass Sie eine Szene entsprechend der Kopfbewegung, -drehung usw. kontinuierlich aktualisieren können. Aber was genau sind diese Informationen?

Die ausgegebenen Informationen fallen in vier Kategorien:

  1. Position — Die Position des HMD entlang dreier Achsen in einem 3D-Koordinatenraum. x ist links und rechts, y ist oben und unten, und z ist zu und von dem Positionssensor entfernt. In WebVR werden die x-, y- und z-Koordinaten durch das Array in VRPose.position dargestellt.

  2. Orientierung — Die Drehung des HMD um drei Achsen in einem 3D-Koordinatenraum. Pitch ist die Drehung um die x-Achse, yaw ist die Drehung um die y-Achse, und roll ist die Drehung um die z-Achse. In WebVR werden der Pitch, Yaw und Roll durch die ersten drei Elemente des Arrays in VRPose.orientation dargestellt.

  3. Geschwindigkeit — Es gibt zwei Arten von Geschwindigkeit, die in VR berücksichtigt werden müssen:

  4. Beschleunigung — Es gibt zwei Arten von Beschleunigung, die in VR berücksichtigt werden müssen:

Blickfeld

Das Blickfeld (Field of View, FOV) ist der Bereich, den jedes der Augen des Benutzers vernünftigerweise sehen kann. Es hat grob die Form einer Pyramide, die auf einer Seite liegt, mit der Spitze im Inneren des Kopfes des Benutzers und dem Rest der Pyramide, der vom Auge des Benutzers ausstrahlt. Jedes Auge hat sein eigenes Sichtfeld, das leicht überlappt.

Das FOV wird durch die folgenden Werte definiert:

Die Standardwerte für diese Eigenschaften variieren je nach VR-Hardware leicht, obwohl sie in der Regel etwa 53° nach oben und unten und 47° nach links und rechts betragen, wobei zNear bei etwa 0,1m und zFar bei etwa 10000m liegen.

Hinweis: Der Benutzer kann potenziell alles um sich herum sehen, was ein völlig neues Konzept für Apps und Spiele ist. Versuchen Sie, den Menschen einen Grund zu geben, sich umzusehen und zu sehen, was hinter ihnen ist — lassen Sie sie nach Dingen greifen, die nicht von Anfang an sichtbar sind. Beschreiben Sie, was sich hinter ihrem Rücken befindet.

Konzepte für VR-Apps

Dieser Abschnitt behandelt Konzepte, die bei der Entwicklung von VR-Anwendungen zu beachten sind und die Sie wahrscheinlich vorher nicht bei der Entwicklung von regulären Anwendungen für Mobilgeräte oder Desktop berücksichtigt haben.

Stereoskopisches Sehen

Stereoskopisches Sehen ist die normale Sichtweise von Menschen und (den meisten) Tieren — die Wahrnehmung von zwei leicht unterschiedlichen Bildern (eines von jedem Auge) als einzelnes Bild. Dies führt zu Tiefenwahrnehmung und hilft uns, die Welt in herrlichem 3D zu sehen. Um dies in VR-Apps nachzubilden, müssen Sie zwei sehr leicht unterschiedliche Ansichten nebeneinander rendern, die von den linken und rechten Augen aufgenommen werden, wenn der Benutzer das HMD trägt.

Kopfverfolgung

Die primäre Technologie, die verwendet wird, um das Gefühl zu erzeugen, in einer 360º-Szene präsent zu sein, dank des Gyroskops, des Beschleunigungsmessers und des Magnetometers (Kompass), die im HMD enthalten sind. Es hat primäre Relevanz, weil es unsere Augen glauben lässt, dass wir vor einem kugelförmigen Bildschirm stehen, und den Benutzern realistische Immersion in das App-Canvas bietet.

Augenbelastung

Ein Begriff, der häufig in VR verwendet wird, da er ein großes Hindernis bei der Verwendung eines HMD ist — wir täuschen das Auge ständig mit dem, was wir im App-Canvas zeigen, was dazu führt, dass die Augen viel mehr arbeiten, als sie normalerweise würden, sodass die Verwendung von VR-Apps über einen längeren Zeitraum zu Augenbelastung führen kann.

Um diesen unerwünschten Effekt zu minimieren, müssen wir:

Im Allgemeinen wird der Weg des geringsten visuellen Aufwands dem Benutzer ein weniger ermüdendes Erlebnis bieten.

Bewegungsübelkeit

Wenn Entwickler nicht größte Sorgfalt walten lassen, können VR-Apps tatsächlich dazu führen, dass sich ihre Benutzer krank fühlen. Dieser Effekt wird erzeugt, wenn die vom Auge empfangenen Reize nicht das sind, was der Körper zu empfangen erwartet.

Um zu vermeiden, bei unseren Nutzern Bewegungsübelkeit auszulösen (oder zumindest die Auswirkungen zu minimieren), müssen wir:

Insgesamt sollten Ihre Augen keine Signale an das Gehirn senden, die Reflexaktionen in anderen Körperteilen hervorrufen.

Latenz

Latenz ist die Zeit zwischen der physikalischen Kopfbewegung und der Aktualisierung des visuellen Displays, das die Augen des Benutzers vom Bildschirm eines HMD wahrnimmt. Dies ist einer der kritischsten Faktoren, um ein realistisches Erlebnis zu bieten. Menschen können sehr kleine Verzögerungen erkennen — wir müssen die Latenz unter 20 Millisekunden halten, wenn sie unmerklich sein sollen (zum Beispiel hat ein 60Hz-Monitor eine Reaktion von 16 ms).

Das Oculus Rift Headset hat eine Latenz von 20 ms oder weniger, aber bei auf Mobilgeräten basierten Setups hängt es stark von der CPU-Leistung des Smartphones und anderen Fähigkeiten ab.

Bildrate (Frames per Second / FPS)

Basierend auf der Definition in Wikipedia ist die Bildrate die Frequenz, mit der ein Aufnahmegerät einzigartige aufeinanderfolgende Bilder, sogenannte Frames, erzeugt. Eine Rate von 60fps ist eine akzeptable Rate für ein reibungsloses Benutzererlebnis, aber je nach Leistung der Maschine, auf der die App läuft, oder der Komplexität der Inhalte, die Sie zeigen möchten, kann sie drastisch sinken. Weniger als 30fps wird im Allgemeinen als ruckelig und störend für den Benutzer angesehen.

Eine der schwierigsten Aufgaben ist es, einen konstanten und hohen Bildratenwert aufrechtzuerhalten, daher müssen wir unseren Code optimieren, um ihn so effizient wie möglich zu gestalten. Es ist vorzuziehen, eine anständige Bildrate zu haben, die konstant oder plötzlich nicht verändert wird; dafür müssen Sie so wenig wie möglich notwendige Objekte in die Szene bewegen und (im Fall von WebGL) versuchen, die Zeichnungsaufrufe zu reduzieren.

Pupillendistanz (IPD)

Basierend auf der Definition in Wikipedia ist die Pupillendistanz (IPD) der Abstand zwischen den Mittelpunkten der Pupillen der beiden Augen. IPD ist entscheidend für die Konstruktion von binokularen Anzeigesystemen, bei denen beide Augenpupillen innerhalb der Austrittspupillen des Anzeigesystems positioniert werden müssen.

Die Pupillendistanz (IPD) kann in WebVR mit VREyeParameters.offset berechnet werden, welches gleich der Hälfte des IPD ist.

Dieser Wert wird durch das HMD zurückgegeben und sein Wert kann etwa 60 bis 70 mm betragen; im Fall einiger HMDs wie dem von Oculus Rift können Sie Ihr eigenes IPD einstellen. Normalerweise ändern wir diesen Wert nicht, aber Sie können damit spielen, um den Maßstab der gesamten Szene zu ändern. Wenn Ihr IPD beispielsweise auf 6000 mm eingestellt ist, würde der Benutzer die Szene wie ein Riese betrachten, der auf eine Lilliputaner-Welt schaut.

Freiheitsgrade (DoF)

DoF bezieht sich auf die Bewegung eines starren Körpers im Raum. Es gibt keine Einheitlichkeit bei der Erstellung von Akronymen für diesen Begriff — wir finden Verweise auf 3DoF im Zusammenhang mit Sensoren, die nur die Kopfdrehung erfassen, und 6DoF, wenn eine Eingabe es uns ermöglicht, Position und Orientierung gleichzeitig zu steuern. Wir finden sogar manchmal 9DoF-Verweise, wenn die Hardware drei Sensoren wie Gyroskop, Beschleunigungsmesser und Magnetometer enthält, aber die Ergebnisse der 3 x 3DoF-Werte tatsächlich eine 6-Grad-of-Freedom-Verfolgung zurückgeben.

DoF ist direkt mit der Verfolgung der Kopfbewegung des Benutzers verbunden.

Fokus-Kegel

Obwohl unser Sichtfeld viel größer ist (ungefähr 180º), müssen wir feststellen, dass nur in einem kleinen Teil dieses Sichtfeldes Symbole wahrgenommen werden können (die mittleren 60º) oder Text gelesen werden kann (die mittleren 10º). Wenn Sie keinen Augentracker haben, gehen wir davon aus, dass sich im Zentrum des Bildschirms der Punkt befindet, auf den der Benutzer seine Augen fokussiert.

Diese Einschränkung ist wichtig zu beachten, wenn Sie entscheiden, wo Sie visuelle Elemente im App-Canvas platzieren — zu weit am Rande des Fokus-Kegels kann viel schneller zu Augenbelastung führen.

3D-Positions-Audio

3D-Positions-Audio bezieht sich auf eine Gruppe von Effekten, die Audio manipulieren, um zu simulieren, wie es in einem dreidimensionalen Raum klingen würde.

Dies steht in direktem Zusammenhang mit der Web Audio API, die uns ermöglicht, Klänge an Objekten im Canvas zu platzieren oder Audio je nach Teil der Szene zu starten, in die der Benutzer reist oder auf die er schaut.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4