WebVR ist eine erstaunliche Möglichkeit, immersive 3D-Virtual-Reality-Erlebnisse im Browser zu erstellen. Es handelt sich um eine experimentelle Spezifikation von Javascript-APIs, die von vielen Unterstützern und Leuten vorangetrieben wird, wobei Mozilla einen großen Anteil daran hat. Da immer mehr VR-Headsets auf den Markt kommen und weitere in Sicht sind, ist jetzt ein guter Zeitpunkt, um zu experimentieren und zu sehen, welche großartigen Dinge Sie mit WebVR erstellen können. Das offene Web entwickelt sich zu einer spannenden Brutstätte VR-Erlebnisseeinschließlich jenseitige Spiele, Lackieranwendungen Und immersive Erlebnisse. Wer weiß, welche anderen Erlebnisse Menschen schaffen können, wenn die WebVR-Technologie ausgereifter wird und VR-Geräte immer zugänglicher werden?
Was ist A-Frame?
Nun, wie ich bereits erwähnt habe, ist Mozilla derzeit eine große treibende Kraft bei WebVR und sie haben bei der Entwicklung mitgeholfen Ein Rahmen, ein Web-Framework zum Erstellen von Virtual-Reality-Erlebnissen. Seitdem hat es sich zu einem der größten und aufregendsten Open-Source-Projekte entwickelt und wächst und entwickelt sich schnell weiter. A-Frame ist eines der einfachsten Frameworks, mit denen ich je arbeiten durfte, und dennoch sind die Dinge, die man damit erstellen kann, erstaunlich. Der Einstieg ist einfach, leicht zu verstehen und dennoch äußerst wirkungsvoll. In A-Frames eigenen Worten:
Warum sollte ich WebVR-Inhalte erstellen?
Um eines klarzustellen: WebVR und A-Frame sind immer noch nicht überall nutzbar. Diese Technologie schreitet schnell voran, ist aber noch ziemlich experimentell. Außerdem wird WebVR derzeit (zumindest nicht für eine Weile) die Art und Weise, wie wir Websites erstellen, nicht ersetzen. Ich gehe davon aus, dass 2D-Ansichten mit normalen Monitoren und Bildschirmen noch lange Zeit die dominierende Art sein werden, Inhalte zu konsumieren. Daher denke ich, dass der Hauptgrund für die Erstellung von WebVR-Inhalten der Spaß ist. Es ist eine neue und aufregende Technologie und wir können damit wirklich, wirklich coole Dinge machen. Einige dieser Projekte könnten zu Kundenprojekten werden, ein Museum könnte Sie damit beauftragen, einen virtuellen Rundgang für sie zu erstellen, oder ein Spiel könnte erfolgreich sein und Sie könnten Geld dafür bekommen. Aber im Wesentlichen sollten wir Spaß haben und spannende Dinge mit WebVR und A-Frame schaffen.
Lass uns etwas machen
Meiner Meinung nach ist der beste Weg, sich für ein Framework wie A-Frame zu begeistern, darin, etwas anzupacken und zu bauen. Wir werden eine ziemlich einfache Virtual-Reality-Kunstgalerie erstellen und Ihnen gleichzeitig einige der Kernfunktionen von A-Frame vorstellen.
Erste Schritte
Das Wichtigste zuerst: Wir benötigen einen lokalen Server. Wenn Sie bereits eine Möglichkeit haben, dies zu tun, großartig. Wenn nicht, empfehle ich die Einrichtung eines Knotenservers mit http-Server. Ok, wenn Sie einen lokalen Server haben, tauchen wir in A-Frame ein. Wir beginnen mit einem einfachen HTML-Dokument namens index.html und laden Sie die A-Frame-Bibliothek in den Kopf des Dokuments. A-Frame sollte in den Kopf geladen werden, damit es bereit ist, bevor die benutzerdefinierten Elemente geladen werden, die wir hinzufügen möchten.
Nachdem wir A-Frame geladen haben, bereiten wir das HTML-Dokument für eine A-Frame-Szene vor. A-Frame basiert auf HTML und verwendet benutzerdefinierte Elemente, um einen Großteil der Komplexität zu abstrahieren. Platzieren wir einHerunterladen unserer Assets
Wir vergessen also nicht, den gesamten Inhalt aus Ihrer Szene zu löschen, sodass Ihre Datei jetzt wie folgt aussehen sollte:
Google-Blöcke ist eine Anwendung zum Erstellen von 3D-Modellen in VR, die an sich schon großartig ist. In der Galerie teilen Menschen ihre Kreationen und wir werden das Modell „Kleine Galerie“ herunterladen. Gehen Sie zum Google Blocks-Seite für dieses Modell und klicken Sie auf Download. Dadurch wird ein Ordner mit zwei darin enthaltenen Dateien heruntergeladen. A model.obj und ein Materialien.mtl. Platzieren Sie diese beiden Dateien in einem Ordner namens „Galerie“ und legen Sie diesen Ordner neben Ihrem index.html Datei. Wir benötigen beide Dateien, um das Modell korrekt darzustellen, und fügen sie als Nächstes in A-Frame ein.
Ihr Projekt sollte derzeit wie folgt aussehen: index.html gallery/model.obj gallery/materials.mtl
Erstellen eines VR-Galerieraums
Jetzt laden wir das heruntergeladene Modell in unser Projekt. A-Frame verfügt über einen integrierten Vermögensverwaltungssystem, wodurch unsere Assets vorgeladen und zwischengespeichert werden. Dies ist eine großartige Funktion, die einen wirklich wichtigen Schritt abstrahiert und unser Leben viel einfacher macht. Laden wir unser Objekt und unser Material in den Asset Loader:
Wir können auf die Kamera in der Liste links klicken und die Position der Kamera entweder mit den Pfeilen oder den Eigenschaften im rechten Menü ermitteln. Spielen Sie mit dem Inspektor herum und sehen Sie, was Sie damit machen können. Durch Ändern der Eigenschaften und Experimentieren können Sie viel lernen. Dies ist eine der besten Möglichkeiten, etwas über die Positionierung im 3D-Raum zu lernen.
Am Ende möchten wir eine Position erreichen, bei der die Kamera im Raum zentriert und leicht angehoben ist, sodass sie sich auf Kopfhöhe befindet. Außerdem drehen wir die Kamera zu Beginn so, dass sie aus dem Fenster zeigt.
Hinzufügen einer Willkommensnachricht
Um der VR-Galerie eine etwas einladendere Atmosphäre zu verleihen, fügen wir eine Willkommensnachricht hinzu Die Textkomponente von A-Frame. Das Hinzufügen von Text ist so einfach wie die Eingabe eines Werts in die Textkomponente, es gibt jedoch auch viele zusätzliche Werte, die geändert werden können. Wir verfügen wie gewohnt über die Positions- und Rotationsattribute sowie einige Textanpassungsoptionen wie Schriftart, Ausrichtung und Farbe. Wir haben auch einen angerufen Seite. Side teilt A-Frame tatsächlich mit, welche Seite des Textes gerendert werden soll. Dies ist hilfreich, wenn Sie sich in Ihrer Szene bewegen können und keinen umgekehrten Text sehen möchten. Wir freuen uns, dass es auf beiden Seiten sichtbar ist.
Animieren unserer Willkommensnachricht
A-Frame verfügt über eine leistungsstarke Animationskomponente, die an andere Komponenten angehängt werden kann. Wir befestigen es, indem wir es innerhalb des Elements verschachteln, das wir animieren möchten. Dies ist eine wirklich leistungsstarke Funktion, die weit über reine Animationen hinausgeht. Auf diese Weise können wir mehrere Objekte gruppieren. Als Beispiel dafür, wie dies verwendet werden könnte, stellen Sie sich ein Heads-up-Display in einem Spiel vor oder die Erde auf einer Umlaufbahn um die Sonne, während der Mond folgt und sich um die Erde dreht. Wir werden es in diesem Tutorial einfach halten und nur den Text animieren. Wir müssen eine Eigenschaft auswählen, die wir animieren möchten, und diese als festlegen Attribut Wert. Wir lassen unseren Text auf und ab hüpfen, damit wir die Position bearbeiten können. Als nächstes müssen wir der Animation mitteilen, wohin diese Komponente animiert werden soll – wir möchten nur, dass sie sich leicht nach oben bewegt, also sollten wir den Positionswert der übergeordneten Komponente kopieren und anpassen Y Wert. Wir können auch die Beschleunigung und die Dauer sowie festlegen, ob und wie die Schleife wiederholt wird. Wir werden unsere Animation auf und ab hüpfen lassen, indem wir sie endlos wiederholen und dabei jedes Mal die Richtung wechseln.
Zusammenfassung
Da haben wir es, eine Virtual Reality Art Gallery in weniger als 40 Zeilen. Sie haben eine Einführung in das Laden von Assets erhalten und dabei die Entitätskomponente mit Objekten, die Kamera, Text und Animationen verwendet. Mit diesen Tools sind die Möglichkeiten grenzenlos und machen Spaß. WebVR steckt noch in den Kinderschuhen, aber die Leute erkennen bereits das Potenzial für großartige Dinge. Es ist eine völlig andere Art, Inhalte zu erleben, und es ist eine aufregende Zeit, sich zu engagieren. A-Frame bietet uns die Möglichkeit, schnell und einfach einzusteigen und Menschen dazu zu bringen, unsere Kreationen auf möglichst vielen Geräten zu nutzen.