Die Industrien Augmented Reality (AR) und Virtual Reality (VR) befinden sich immer noch im Anfangsstadium, gerade deshalb ist jetzt der perfekte Zeitpunkt, um zu lernen, wie man Inhalte für diese Technologien erstellt. Sie benötigen das Wissen, um den Sprung in die nächste Adaptionsstufe zu schaffen.
Glücklicherweise sind die Skills, die benötigt werden, um in AR und VR einzusteigen, aus Entwicklersicht sehr ähnlich und die Eintrittsbarrieren sind noch relativ gering. Dieser Artikel gibt Ihnen einen Überblick darüber, wie Sie einen gelungenen Einstieg finden.
Die wichtigsten Skills, die Sie benötigen.
Unabhängig davon, ob Sie ein Neuling sind, der mit der Programmierung beginnt, oder ein Veteran mit jahrelanger Erfahrung in diesem Bereich, die wichtigsten Skills, die Sie benötigen, um ein AR/VR-Developer zu werden, liegen im 3D-Bereich. Tatsächlich unterscheidet es sich nicht sehr von der Entwicklung von 3D-Spielen.
Warum? Denn bei AR und VR geht es darum, immersive Welten oder Umgebungen zu schaffen, mit denen man dreidimensional interagieren kann, wie im realen Leben.
Je nachdem, wie tief Sie gehen wollen, müssen Sie sich also mit 3D-Modellierung und/oder Scannen, 3D-Game-Engines, 360°-Fotos und -Videos, vielleicht ein wenig Mathematik und Geometrie, Programmiersprachen wie C/C++/C# und Software Development Kits (SDKs) auseinandersetzen und Inhalte für Benutzer in 3D gestalten.
Lassen Sie uns also einen tieferen Einblick auf jedes der Themen werfen, die Sie ansprechen müssen, um ein AR/VR-Developer zu werden, wobei wir uns zunächst auf VR konzentrieren.
Hardware.
AR/VR (und 3D-Entwicklung im Allgemeinen) erfordert High-End-Hardware. Da jedoch der Preis für Hardware ständig sinkt, stellt dies vielleicht kein großes Problem dar, wie vor einigen Jahren.
Wenn wir uns die Anforderungen der beiden beliebtesten VR-Plattformen (HTC Vive und Oculus Rift) ansehen, werden wir feststellen, dass sie im Wesentlichen identisch sind. Zum Zeitpunkt dieses Beitrags sind dies die empfohlenen Hardware-Spezifikationen:
- Prozessor: Intel Core i5-4590 or AMD FX 8350
- Grafikkarte: NVIDIA GeForce GTX 1060 oder AMD Radeon RX 480
- Memory-Karte: 8 GB RAM
- Ports: 3x USB 3.0
- Betriebssystem: Windows 7 oder höher
Bedeutet das, dass Sie mit einem i3-Prozessor oder einer GTX 1050-Karte keine Entwicklungsarbeit leisten können? Das kommt darauf an.
Die oben genannten Spezifikationen werden empfohlen, um eine reibungslose User Experience zu haben, so dass für einige Projekte, weniger Leistung ausreichen würde, und bei anderen Projekten wiederum, der Mangel an Leistung in einem Bereich durch eine Erhöhung der Leistung in einem anderen Bereich kompensiert werden müsste (zum Beispiel durch die Kopplung eines i3-Prozessors mit einer GTX 1070).
Es gibt Mindestanforderungen und Tools, um sicherzustellen, dass Ihre Hardware kompatibel ist, aber der Vorschlag ist, zu versuchen, das höhere Ende zu erreichen und Desktop-PCs zu verwenden, um einen einfachen und kostengünstigeren Upgrade-Pfad zu haben.
VR-Geräte.
In diesem Gebiet haben wir viele Möglichkeiten. Lassen Sie uns die beliebtesten nach ihrem Freiheitsgrad (DOF) kategorisieren, der sich auf die Art und Weise bezieht, wie sich ein Objekt bewegen kann. Wir haben zwei Möglichkeiten: drei und sechs DOF.
Drei DOF bedeutet, dass Sie mit der virtuellen Welt in drei Dimensionen (in einem X-, Y-, Z-Koordinatensystem) interagieren können, indem Sie Ihren Kopf über ein Head-Mounted-Display (HMD) bewegen, jedoch nicht vorwärts oder rückwärts bewegen können.
Mit sechs DOF können Sie sich vorwärts/rückwärts, aufwärts/abwärts und nach links/rechts bewegen, so dass Sie jetzt drei weitere Arten von Bewegungen haben, daher die Bezeichnung. Die folgenden Geräte unterstützen drei DOF:
Während die folgenden sechs DOF unterstützen:
- HTC Vive
- Oculus Rift
Natürlich verwendet jedes Gerät unterschiedliche SDKs, Programmiersprachen und hat unterschiedliche Einschränkungen, aber Sie werden feststellen, dass sie einige Gemeinsamkeiten haben:
- Die Prinzipien für die Gestaltung einer VR Erfahrung sind die gleichen.
- Die meisten von ihnen sind sind mit Motion Controllern kompatibel, um mit der virtuellen Welt zu interagieren.
- Drei DOF-Geräte verwenden Smartphones als Head Mounted Displays.
- Sechs DOF-Geräte verwenden Desktop-Headsets.
An diesem Punkt und je nachdem, was Sie erreichen wollen, können Sie etwas recherchieren und ein oder mehrere Geräte auswählen, auf denen Sie entwickeln möchten. Natürlich können Sie mit Desktop-Headsets mehr Dinge tun, aber Sie können mit etwas Einfachem beginnen und Ihre Fähigkeiten später von einem Gerät auf ein anderes übertragen. Es geht darum, die richtigen Werkzeuge für den Job zu lernen.
Lassen Sie uns nun auf die am häufigste verwendete Software zur Entwicklung von VR-Inhalten eingehen.
3D Game Engines und Programmiersprachen.
Eine im Bericht „The State of the Developer Nation Q1 2017 veröffentlichte Umfrage belegt C# und C/C++ als die am häufigsten verwendeten Programmiersprachen für die AR/VR-Entwicklung. Das ist kein Zufall. Die beliebtesten Spiele-Engines, die Sie benötigen, um zu lernen, wie man sie verwendet, sind die Folgenden:
- Unity, die C# als primäre Programmiersprache verwendet.
- Unreal Engine, die C++ und eine nodebasierte Sprache mit der Bezeichnung Blueprints Visual Scripting verwendet.
Die gute Nachricht ist, dass alle VR-Geräte über SDKs verfügen, die für beide Engines verfügbar sind, so dass Sie nur eine davon verwenden können, um AR/VR-Anwendungen zu entwickeln und mahr als ein Gerät anzusprechen.
Die schlechte Nachricht ist, dass die Lernkurve für beide relativ steil ist. Zweifelsfrei empfehlen die meisten Experten Unity, weil die Software leichter zu erlernen ist und mehr Ressourcen zur Verfügung stehen. Unreal kann Ihnen jedoch bessere Grafiken und mehr Leistung bieten.
Eine weitere zu berücksichtigende Sache ist, dass Unity viele Versionen mit unterschiedlichen Kosten hat, aber es gibt eine persönliche Version, die kostenlos verwendet werden kann. Unreal ist frei verwendbar, mit einer Lizenzgebühr von 5% auf den Bruttoumsatz nach den ersten 3.000 USD pro Spiel und Kalenderquartal aus kommerziellen Produkten.
Die Empfehlung ist, diese beiden Engines auszuprobieren, um zu sehen, welche am besten zu Ihnen passt.
Darüber hinaus ist es erwähnenswert, dass Google SDKs für Android (in Java) und iOS (in Objective-C) zur Verfügung stellt, um sie für Daydream und Cardboard-Geräte zu entwickeln.
Assets selber machen oder finden?
Die ersten Dinge, die Sie für die AR/VR-Entwicklung benötigen, sind Kunstwerke, insbesondere 3D-Modelle. Sie haben hier zwei Möglichkeiten: Sie können sie selbst herstellen oder Modelle von jemand anderem verwenden.
3D-Modelle selbst zu erstellen ist die schwierigste Option, aber auf lange Sicht kann es die beste (und kostengünstigste) sein. Wenn Sie sich dafür entscheiden, müssen Sie Programme wie die Folgenden erlernen:
Eine Technologie, die Ihnen helfen kann, Ihre eigenen Modelle zu erstellen, ist das 3D-Scannen. Im Grunde genommen werden die von einem 3D-Scanner in der realen Welt erfassten Dinge zu einem virtuellen 3D-Modell. Sie sind vielleicht noch nicht perfekt, aber sie können Ihnen helfen, den Einstieg zu finden, und es gibt viele Optionen mit einer breiten Palette von Preispunkten. Einige davon sind:
- DAVID SLS2
- Da Vinci 1.0 AiO
- Structure Sense
Andernfalls werden Sie 3D-Modelle von Plattformen wie die Folgenden sein:
- TurboSquid
- Free3D
- CGTrader
- Sketchfab
Diese Option ist gut, wenn Sie anfangen und Sie nicht die Fähigkeiten haben, aber früher oder später müssen Sie Änderungen vornehmen, um genau das zu bekommen, was Sie möchten, also ist es empfehlenswert, die beiden Optionen zu kombinieren, während Sie lernen, Ihre eigenen Modelle zu erstellen.
Ähnliches passiert mit 360°-Videos und Fotos, die in der Virtual Reality verwendet werden, um ein immersives Erlebnis zu bieten.
Sie können eine 360-Grad-Kamera wir die RICOH THETA oder die Samsung Gear 360 kaufen, um Ihre eigenen Medien zu erstellen oder Webseiten wie Flickr oder andere Webseiten für lizenzfreie Bilder und Videos zu nutzen. Im Bereich Audio haben wir es einfacher, weil es keine besonderen Anforderungen gibt. Wir können die gleichen Soundeffekte verwenden, die in traditionellen Spielen und Videos von lizenzfreien Audio-Webseiten wie FreeSound und Audio-Aufnahme- und Bearbeitungssoftware wie Audacity oder Adobe Audition verwendet werden.
Von der Webentwicklung zu Virtual Reality.
Vielleicht haben Sie einen Web-Entwickler-Hintergrund und fragen sich, ob Ihre Kenntnisse von JavaScript hilfreich sein können.
Glücklicherweise ist WebVR ein offener Standard mit einer JavaScript-API, die es ermöglicht, VR in Ihrem Browser zu erleben. Es funktioniert mit den meisten VR-Geräten, aber Sie benötigen keines dieser oder Plugins, da jeder kompatible Browser (sogar in Ihrem Android/iOS-Smartphone) die Arbeit erledigt. Sie können unter WebVR Rocks nach der neuesten Browserunterstützung suchen und weitere Informationen auf der Mozilla VR-Seite finden.
Obwohl die Kenntnisse der 3D-Terminologie und -Modellierung immer noch zutreffen, kann es, wenn Sie JavaScript kennen, eine gute Wahl sein, mit WebVR statt mit einer VR-SDK, Unity oder Unreal zu beginnen.
In diesem Bereich gibt es zwei nennenswerte Rahmenbedingungen:
- A-Frame. Ein Framework für den Aufbau von VR-Inhalten mit HTML und ein Entity-Component-System-Ansatz. Es wurde vom Mozilla VR-Team entwickelt und bietet eine der leistungsfähigsten Möglichkeiten, WebVR-Inhalte zu entwickeln.
- React VR. Eine neue, von Facebook entwickelte Bibliothek, die auf React und React Native basiert. Es ermöglicht Ihnen die Erstellung von VR-Webseiten und interaktiven 360°-Erlebnissen mit dem gleichen deklarativen Komponenten-Ansatz wie React.
Da beide auf ThreeJS basieren, bietet Ihnen das Wissen über diese Bibliothek eine solide Grundlage.
Unity hat die Möglichkeit, Skripte in einer ähnlichen Sprache wie JavaScript mit der Bezeichnung UnityScript zu schreiben, aber es ist nicht dasselbe wie JavaScript, mit dem Sie für das Web entwickeln werden, und C# ist die empfohlene Sprache für Unity.
Und was ist mit AR?
Wir haben uns auf VR konzentriert, aber AR ist ein anderes Konzept.
Bei VR geht es darum, eine virtuelle und immersive Umgebung zu schaffen, die die reale Welt ersetzt. AR fügt der realen Welt Datenschichten hinzu, anstatt sie zu ersetzen. Zum Beispiel kann es die Wörter, die Sie in einer anderen Sprache sehen, übersetzen, oder es kann Sie Monster sehen lassen, wenn Sie in die Nähe eines Ortes gehen. Im Gegensatz dazu kann VR Sie in ein anderes Land oder ein Land voller Monster führen.
Wenn Sie beide Konzepte verbinden, erhalten Sie das, was als Mixed Reality bezeichnet wird, wo Sie sowohl mit der physischen als auch mit der virtuellen Umgebung interagieren.
Aus Entwicklersicht sind VR und AR jedoch ziemlich ähnlich. Tatsächlich können Sie Unity und Unreal (mit Hilfe einiger Plugins) verwenden, um AR-Inhalte zu entwickeln. Zum Beispiel erkennt eine einfache AR-App ein Objekt und präsentiert ein 3D-Modell, das Sie so manipulieren können, als wäre es real, so dass die für VR erforderlichen Fähigkeiten auch für AR anwendbar sind.
Eines der beliebtesten Tools für die Entwicklung von AR ist Vuforia, das für Unity, Android und iOS verfügbar ist und viele Funktionen und Unterstützung für viele Geräte bietet, einschließlich Tango-Smartphones.
Apropos Geräte, AR kann mit kopfmontierten Displays verwendet werden, aber auch mit anderen Geräten wie Smartphones, Brillen und speziell gefertigten Visieren, die vielleicht das beliebteste Microsoft HoloLens sind (obwohl sie eher zu Mixed Reality neigen).
User Interface (UI)/User Experience (UX).
Die AR/VR-Branche ist neu und daher gibt es noch nicht viele Best Practices für die Entwicklung dieser Art von Inhalten, aber wir sollten davon ausgehen, dass sie sich von traditionellen 2D-Anwendungen unterscheiden. Zum Beispiel, wie gehen Sie mit Eingaben um? Eine Tastatur in einer virtuellen Welt ist in manchen Situationen nicht die beste Wahl.
Auf der anderen Seite ist eines der größten Probleme bei VR die Simulator-/Motionkrankheit. Menschen können krank werden, entweder durch verzögernde, unnatürliche Bewegungen und Unstimmigkeiten zwischen physischen und visuellen Bewegungshinweisen, unter anderem.
Zusammenfassend – wie sehen die Schritte aus, um ein AR/VR-Entwickler zu werden?
- Definieren Sie Ihre Plattform. Entscheiden Sie, welche Geräte Sie ansprechen möchten, welche Plattformen (Mobile, Desktop, Web) und welche Game-Engine/SDK/Framework Sie verwenden möchten.
- Erlernen Sie die entsprechenden Skills. Erfahren Sie mehr über die Terminologie, die 3D-Modellierung, die Sprache der Engine/SDK/Framework, UI/UX für AR/VR.
- Setzen Sie etwas Kleines um. Obwohl eine große Anzahl von AR/VR-Apps Spiele sind, gibt es viele Bereiche, die angesprochen werden können, wie Bildung, Datenvisualisierung, 360°-Inhalte. Der Schlüssel dazu ist das Üben und Sammeln von Inhalten.
- Werden Sie Mitglied und engagieren Sie sich in VR-Communities. Gehen Sie zu MeetUps, nehmen Sie an Foren/Chats teil, sprechen Sie mit anderen Entwicklern, fragen Sie die Community.
Schlußfolgerungen.
Die Technologie ist noch nicht ganz ausgereift. Es hat viele Einschränkungen und ist teuer. Hinzu kommt, dass weiterhin an Standards und Plattformen gearbeitet wird. Es hat jedoch ein großes Potenzial, und jetzt ist ein guter Zeitpunkt, um loszulegen – zumal die meisten professionellen AR/VR-Entwickler weniger als 2 Jahre Erfahrung haben.
Außerdem können einige der Skills, die Sie lernen (wie z.B. C#), auf andere Bereiche der Software- oder Spieleentwicklung übertragen werden, wenn Sie sich am Ende für AR/VR entscheiden, macht es dies für Sie also zu einer risikoarmen Entscheidung.
Vielen Dank für Ihren Besuch.
Vielen Dank für die gute Zusammenfassung, die Unterscheidung zwischen VR / AR (und das wieder „Zusammenführen“) + der Techniken, Entwicklungsumgebungen und Anwendungen. Wirklich gut gemacht.
Das war ein sehr hilfreicher und informativer Beitrag. Ich danke recht herzlich und werde demnächst mit Unreal Engine anfangen und mir im Laufe der Entwicklung das 3D-Modelling mit Blender anschauen. :)