Nachdem man sich ein wenig mit Virtual Reality beschäftigt hat, kommt man eventuell auf den Gedanken, selbst eine Anwendung für Virtual Reality zu entwickeln. Gerade im Moment wo die Grenzen noch nicht klar ersichtlich sind, gibt es die Möglichkeit neue Dinge auszuprobieren und der ggf. der Erste zu sein der eine bestimmte Idee realisiert. Wenn ihr auch immer wieder Ideen im Kopf habt oder einfach Lust habt ein wenig zu forschen, dann habe ich hier ein paar Tipps für euch.

Zu beginn fangen wir einfach mit generellen Tipps zur Ideenfindung. Um einen groben Eindruck zu bekommen, was möglich ist und was nicht empfiehlt es sich immer erst einmal anzusehen was existiert bereits? Dafür schaut man sich am besten einmal im Oculus Share um. Hier bekommt man nicht nur eine Übersicht ob die eigene Idee vielleicht schon von jemanden anders angegangen wurde, sondern sie hilft, auch wenn man als Firma auf den Virtual Reality Zug aufspringen möchte, um eine Übersicht über die Möglichkeiten zu bekommen. Zusätzlich sollte man sich auch einmal die Google Best Practice App ansehen, welche mit jedem Google Cardboard funktioniert.

Bevor man anfängt eine Idee zu entwickeln, empfiehlt es sich dann noch die Oculus Best Practices einmal genauer anzusehen. Diese sind nicht nur für Leute, die wissen, dass sie für eine Oculus Plattform entwickeln wollen lesenswert, die Tipps sind allgemein gehalten und treffen auf jeder Virtual Reality Plattform zu. Die Oculus Best Practices sind etwas technischer Gehalten als die Google Best Practice App, weshalb es sich empfiehlt, diese erst kurz vor dem Prototyping zu lesen.

Der nächste Schritt ist dann Prototyping. Bevor man viel Zeit und Geld in ein Projekt steckt, solle man zunächst prüfen, ob die generelle Idee denn funktioniert. Das klappt am besten in dem man die Grundfunktionen der Anwendung zunächst mit Platzhalter Assets erstellt. Es sollte zunächst nicht allzu viel Zeit in die künstlerische Gestaltung gesteckt werden, da es verschenkte Zeit wäre, wenn die Grundidee einfach nicht funktioniert. Ferner lenken zu schöne Assets auch davon ab, dass eine Grundidee eventuell gar nicht so gut ist. Die Zeit für die Assets kann man sich nehmen, wenn man davon überzeugt ist, dass die Grundidee funktioniert und sich die investierte Zeit und das investierte Geld rentiert.

Echtzeit 3D oder Panorama?

panoramaSphere[1]Es gibt grundsätzlich zwei große Bereiche in Virtual Reality: Echtzeit 3D und vorgerenderte 360° Inhalte. Da ich immer mal wieder die Frage bekomme hier noch eine Entscheidungshilfe:

  • Soll der Anwender sich im Raum bewegen können (Translation)?
    Wenn Ja ist Echtzeit 3D Pflicht.
  • Sollen die Inhalte fotorealistisch sein? (Sehr detailliert, sehr glatt, z. B. in Maya oder Cinema4D als 360°-Panorama gerendert) Ggf. sogar 360° Fotos oder Videos?
    Wenn ja sollte man auch Echtzeit 3D Verzichten und auf Panorama oder Panorama Videos setzen.
  • Sollen die Inhalte interaktiv sein?
    Für einen hohen Interaktionsgrad sollte man auf Echtzeit3D setzen. Für begrenzte Interaktivität kann man auch eine Mischform einsetzen, in dem man die 360°-Panoramen mit Echtzeit 3D Zusatz Inhalten vermischt.

 

Ziel Plattform:

Bevor man nun loslegt, oder das Startsignal gibt, sollte man sich noch die Ziel Plattform für sein Konzept überlegen: Möchte man nur eine Plattform anpeilen oder alle Brillen unterstützen. Dies ist für die Entwicklung ebenfalls wichtig, da sie dann von vornherein Plattform unabhängig geschrieben werden kann. Spätere Portierungen sind andernfalls häufig mit viel Zeit verbunden.

Um sich für eine Plattform zu entscheiden, muss man die Möglichkeiten kennen:

PC

Computer haben die meiste Leistung und können von daher auch sehr aufwendige Echtzeit 3D Inhalte berechnen. Außerdem kann man davon ausgehen, dass sie meistens mit dem Internet verbunden sind.

lighthouseslide1[1]

  • HTC Vive – Kann den Anwender auf 4m * 5m erkennen, ein Herumlaufen ist also möglich. Derzeit allerdings nur über Kontakte und einem vielversprechenden Projekt zu bekommen (Bewerbung wurde geschlossen)
  • Oculus Rift DK2 / Consumer Version – Für Anwendung bei denen der Anwender sitzt oder steht, sich aber nur begrenzt bewegen muss (ca 1. Schritt in jede Richtung) – Das Entwickler Kit via www.oculus.com gekauft werden.
  • Sonstige (Totem, Fove, OSVR, StarVR und Co) – Über diese Headsets und ihre Besonderheiten sollte man sich gezielt informieren, da sie nur gering verbreitet sind und nicht zu den „Big Playern“ zählen, kann eine Verwendung für Showcases Sinn machen, auch ohne das eine Aussicht auf eine große Nutzerbasis besteht.

Konsole

Konsolen sind meist geschlossene Systeme, deswegen muss man sich als Entwickler mit dem jeweiligen Hersteller kurzschließen. Viele Firmen, darunter auch Sony und Microsoft, setzen in den letzten Jahren aber stärker auf Indie Entwickler. Man sollte jedoch beachten, dass die geschlossenen Systeme meist Qualitätskontrollen haben und Konsolen weniger Leistung haben als ein starker Gaming PC.

  • Playstation VR (ehemals Project Morpheus) – Vergleichbar mit der Oculus Rift Consumer Version, aber für die Playstation. Ferner werden Hand Controller (PS Move) mitgeliefert, welche es dem Entwickler erlauben diese als „beim Anwender vorhanden“ anzunehmen. Ein Entwickler Kit bekommt man allerdings nur über direkt Kontakt mit Sony.

Mobile

Mobile Lösungen sind kabellos und überall verwendbar. Deswegen und aufgrund ihrer simplen Bedienung sind sie auch besonders Anwender freundlich. Allerdings haben Smartphones deutlich weniger Leistung als ein PC und die Brillen häufig eine schlechtere Qualität.

  • Quelle: Samsung GearVR
    Quelle: Samsung GearVR

    Samsung GearVR – Der Luxusliner unter den Mobilen Lösungen. Im Bereich der Grafikqualität als auch Aufmachung und Tragekomfort ungeschlagen im mobilen VR-Bereich. Es ist quasi ein kabelloses Oculus DK2 für unterwegs, jedoch geringerer Leistung. Da nur das Galaxy Note4 und das Galaxy S6/Edge unterstützt wird, können Anwendungen bequem gezielt für diese beiden leistungsstarken Handys entwickelt werden. Ferner haben die Anwendungen, da das SDK direkt von Samsung kommt, einen tieferen Eingriff auf das Betriebssystem, was bessere Leistungsoptimierung erlaubt. Aus diesem Grund steht dem Entwickler hier mehr Rechenpower zur Verfügung als bei der Konkurrenz.

  • Google Cardboard (& Kompatible wie Dive, Refugio3D und Klone) – Hier sollte der Entwickler möglichst ressourcenschonend arbeiten, damit die App auf möglichst allen Smartphones läuft. Dies ist allerdings aufgrund der Gerätevielfallt auch bei bei Ressourcen schonenden Anwendungen nicht einfach. Geräte spezifische Probleme gibt es immer wieder. Der Vorteil ist aber, dass die Hardware günstig ist und die Apps theoretisch mit jedem Smartphone laufen. Cardboard kann man gut auch verschenken um interessierten die Anwendung mit auf den weg zu geben.
  • ZeissVR – Meiner Ansicht nach das Luxusgerät unter den Cardboard kompatiblen Geräten. Zeiss bietet zwar ein eigenes SDK für die Brille an (deswegen führe ich es hier auch nochmal extra auf), bei Problemen damit wurde ich jedoch auf das Cardboard SDK verwiesen. – Das empfand ich als Schade, da das Zeiss SDK, bis auf die Probleme, bei mir flüssiger lief als Cardboard Anwendungen. Durch die extrem gute Qualität der Linsen und des hohen Tragekomforts fallen die Mängel des Cardboard (und ZeissSDK) leider stärker auf. So unter anderem der fehlende Low Persistence Modus, welcher verhindert, dass das Bild bei Bewegungen verschwimmt. Das Zeiss SDK unterstützt offiziell nur Geräte für die es auch eine Schale für die ZeissVR gibt. Insgesamt empfiehlt es sich ausschließlich das Cardboard SDK zu verwenden, da dies auch die offizielle Empfehlung ist.

Die Engine

Die Wahl der Engine ist mittlerweile zu einer Art Glaubensfrage geworden. Seit dem Unreal mit Unreal4 benutzerfreundlicher geworden ist und sowohl Unity 5 als auch Unreal 4 Virtual Reality in ihren jeweiligen kostenlosen Versionen unterstützen.

Hier ein Vergleichs Video, man bedenke, dass hier links das „hässliche“ Unity4 gezeigt wird.  Unity 5 Free und besonders Unity5 Pro kann mit dem „Linear Colorspace“ noch hübscher sein. Leider konnte ich bei meiner Recherche kein Unity5 vs Unreal 4 Vergleichsvideo finden.

Meine Empfehlung ist, wenn man auf mobile setzen möchte, sollte man in jedem Fall auf Unity3D setzen, da dies einen besseren Support für das Cardboard SDK liefert. Im Falle des PCs muss man sich zwischen C# (Unity) und C++ (Unreal 4) entscheiden. Es empfiehlt sich für große Projekte in beiden Engines ein wenig Prototyping zu betreiben um ein Gefühl zu bekommen, welche Engine besser geeignet ist. Abschließend ist für kommerzielle Projekte auch noch das Geschäftsmodell entscheidend:

Unity3D 5: Ab Einnahmen in der Höhe von $100.000 muss die Engine Lizenziert werden. Das kostet dann $75 im Monat oder einmalig $1500.
Unreal 4: Ab Einnahmen in der Höhe von $3000 pro Quartal muss eine Gewinnbeteiligung von 5% an Epic gezahlt werden.

Das war es für heute. Ich hoffe, der Artikel konnte dem ein oder anderen helfen mit seinem Projekt los zulegen!

Tagged: , , , ,

Geschrieben von Daniel Korgel

Ich bin Daniel Korgel und bin ein selbständiger Software Entwickler im Bereich Virtual Reality. Ich programmiere in meiner Freizeit schon sehr lange und bin gut unterwegs mit C# (& .Net), Java, HTML, PHP und MYSQL. Kenntnisse in C, C++ und Assembler sind aber auch vorhanden. Zudem arbeite ich derzeit auch an meinem Bachelor. In meiner Freizeit sammle ich alte Spielekonsolen und bin auch hin und wieder im Skatepark anzutreffen. Twitter: @DakorVR , @Bloculus_de| Xing: xing.com/profiles/Daniel_Korgel

This article has 6 comments

  1. Ruben Antworten

    Guter Überblick!

    Für die Programmiersprache möchte ich noch hinzufügen, dass bei Unity auch mit JavaScript programmiert werden kann und die Unreal Engine „Blueprint“ (visuelle Programmierung mit Komponenten) anbietet — beides für Einsteiger etwas leichter, als C#/C++.

  2. hoto74 Antworten

    Guter Hinweis, wollte ich auch gerade schreiben. ;)

    BluePrint ist durchaus eine Stärke von UE4, weil damit zu programmieren für Designer einfacher ist als eine Programmiersprache wie C++, man kann beides aber auch kombinieren und eigene BluePrint Klassen in C++ schreiben.

  3. Andreas Antworten

    Hi Daniel, Du schreibst:

    „Sollen die Inhalte interaktiv sein?
    Für einen hohen Interaktionsgrad sollte man auf Echtzeit3D setzen. Für begrenzte Interaktivität kann man auch eine Mischform einsetzen, in dem man die 360°-Panoramen mit Echtzeit 3D Zusatz Inhalten vermischt.“

    Wie ist das möglich bzw. welche Tools gibt es dafür? Danke und lg

  4. VR Meistro Antworten

    idee nummmer 1
    Eine art Tony Hawk VR wäre was …. es gab mal ein Board für die Playstation 3 das würde die immersion perfekt machen

    Da liessen sich dann auch games wie surfen oder einfach die strasse so schnell es geht runter kachel mit nem snakeboard. ein Fuss Tracking würde das ganze sehr unterstüzen damit das model in der 3d Welt nicht dumm rum steht

    Plattform PC oder PS VR ist ja egal…

    idee nummer 2
    Es müsste in spielen ein einheitliches Modell geben für VR first person spielen wo man sich zb im 3d scanner shop ( gibt ja schon ein paar) selbst einscannen lassen kann oder ein paar beliege avatars sehr genau erstellen kann.

    idee nummer 3
    eher für die kleineren VR fans Sowas wie Pokemon Snap damals für die N64 oder Yugi oh das sich die Monster dann von dem Kartenspiel dann wie in der Serie erscheinen und man sich duellieren kann.

    idee nunmer 4
    VR Spray das wäre ein spiel wo eine online stadt gibt wo man die Wände besprühen kann man muss sich vor neugirigen nachbarn und polizei in sicherheit bringen wenn sie kommen. Und ein langes tutorial wo ein professioneller „virtueller“ sprayer dir zeigt wie man sprüht mit den basics angefagen andere online mitspieler können deine kunstwerke bewerten. Am besten mit den Touch kontrollern.

    idee nunmer 5
    VR Club vllt auch online

    Als Barkeeper.
    Mit den Touchcontrollern drinks mixen, flirten und Telefonnummern von schönen Frauen sammeln und den sicherheitsdienst rufen wenn ärger in sicht ist. den Bestand im Auge behalten lerre getränke nachbestellen

    Als Dj
    Die menge gröllt mit man spielt ein lied aus der playlist… pitcht man an der richtigen stelle raus (stellt die musil leiser) hört man sie singen … man geht auf musikwünsche ein oder auch nicht der Clubfüllt sich wenn man die richtige musik spielt. Man fängt in kleinen clubs an und kann sich nach oben spielen. Licht kann auch deine aufgaben sein.

    Türsteher
    Lass die leute rein. Sprüche wie „heute ist nicht deine Musik“ kommen an… es sei denn da ist schon jemand zu betrunken.

    Als Gast
    Setze dein oufit zusammen zuhause vorm spiegel je nach disco natürlich. Um so mehr du trinkst un so schlechter wird dein sehempfinden werden. Aber die auswahl deiner Aktionen wird größer entlich gehts auf die Tanzflache oder genug mut ist da ob das hüpsche ding was mich angrinst an zu sprechen. Natürlich kann man sich auch daneben benehmen .

    vllt kann man in einer session also an einem „abend“ zwischen allen switchen und mal den und mal den spielen … oder auch online und dein kollege ist der Dj.

    Wenn du den kommentar lieber für dich behälst und nicht veröffentlichen möchtest kann ich das verstehen ;-)

  5. vrbrillentest Antworten

    Interessanter Ansatz, viele Startups und mittlere Unternehmen springen nun schon auf. Bleibt wirklich spannend und auch abzuwarten, was aus diesen Unternehmen wird. :)

  6. Anna Pfeifer Antworten

    Super Anleitung – danke dafür!

    Ich habe sie Schritt für Schritt abgearbeitet und ein tolles VR-Projekt für meinen Kunden erstellt.

    Weiter so!! :)

Schreibe einen Kommentar zu Anna Pfeifer Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert