Werbung
Virtuelle Realität ist in großem Stil abheben Warum Virtual Reality-Technologie Sie in 5 Jahren umhauen wirdDie Zukunft der virtuellen Realität umfasst Kopf-, Augen- und Ausdrucksverfolgung, simulierte Berührung und vieles mehr. Diese erstaunlichen Technologien werden Ihnen in 5 Jahren oder weniger zur Verfügung stehen. Weiterlesen - Valve, HTC, Samsung und Facebook liefern in naher Zukunft hochwertige Virtual-Reality-Hardware aus. Auf der Softwareseite entwickeln Dutzende großer Studios für die neue Hardware, und alle geben frei zu, dass sie keine Ahnung haben, was sie tun.
Es ist wieder wie in den frühen Tagen von DOOM und Wolfenstein. Niemand weiß, wie ein gutes VR-Spiel aussieht, und das Feld ist offen für Indie-Studios, um zu Hauptakteuren zu werden. Wenn du möchtest
Videospiele machen Erstellen Sie mit Unity3D Free in kürzester Zeit Spiele Weiterlesen Dies ist möglicherweise die beste Gelegenheit, sich einen Namen zu machen.Nehmen wir also an, Sie möchten sich engagieren. Die Tools sind benutzerfreundlicher als je zuvor und fast alle kostenlos. Aber wo fängst du an? In diesem Handbuch finden Sie alle Tools und Informationen, die Sie für den Einstieg benötigen - völlig kostenlos.
Bereit? Lasst uns anfangen.
Was du brauchst:
Um VR-Spiele zu erstellen, benötigen Sie nur drei Dinge:
- Zunächst benötigen Sie ein VR-Headset. Die derzeit am besten verfügbare Option ist die Oculus Rift DK2, die Sie kaufen können Hier für 350 Dollar.
- Zweitens benötigen Sie einen ziemlich leistungsfähigen Gaming-PC. VR ist etwa dreimal so intensiv wie normale PC-Spiele. Sie benötigen daher eine leistungsstarke CPU und Karte. Oculus empfiehlt einen i5, a GTX 970 oder gleichwertig und acht Gigabyte RAM.
- Eine aktuelle Version von Windows 7, 8 oder 10.
Abgesehen davon ist alles andere, was Sie brauchen, kostenlos. In Bezug auf Software verwenden wir:
- Unity 5 Personal Edition
- Das GIMP (Gnu Image Manipulation Program)
- Das SteamVR Unity Plugin
- Das Primitive Plus Unity Plugin
- Das Oculus Windows Runtime
Einrichten Ihrer Werkzeuge
Lassen Sie uns zunächst alles installieren. Laden Sie die Installationsprogramme für Unity und herunter und führen Sie sie aus GIMP GIMP: Ein kurzer Überblick über den beliebtesten Open Source-Bildeditor aller Benutzer Weiterlesen . Dies sollte ziemlich selbsterklärend sein. Wenn Sie Unity zum ersten Mal öffnen, werden Sie aufgefordert, ein Konto zu erstellen. Achten Sie dabei darauf, dass Sie sich Ihren Benutzernamen und Ihr Kennwort merken.
Erstellen Sie in Unity ein neues Projekt (stellen Sie sicher, dass Sie ein „3D“ -Projekt erstellen - nicht „2D“). Stellen Sie das Projektverzeichnis auf Eigene Dateien / Eigenes Projekt.
Verwenden Sie jetzt Ihren Browser, um die Unity Asset Storeund melden Sie sich mit denselben Anmeldeinformationen an. Auf diese Weise erhalten Sie Zugriff auf Entwicklertools und -ressourcen. Verwenden Sie die obigen Links Primitive Plus und SteamVR, suchen Sie die Pakete und klicken Sie oben links auf die Schaltfläche "In Unity öffnen". Da es sich um kostenlose Vermögenswerte handelt, müssen Sie diese nicht bezahlen. Andere sind möglicherweise nicht kostenlos. Seien Sie also vorsichtig. Befolgen Sie die angezeigten Anweisungen und importieren Sie diese Pakete in Unity. Im Untermenü "Projekt" sollten neue Ordner angezeigt werden. Das Herunterladen kann eine Minute dauern. Seien Sie also geduldig und schließen Sie Unity erst, wenn sie fertig sind.
Scripting in Unity
Unity ist extrem einfach zu bedienen, wenn Sie jemals zuvor programmiert haben. Wenn Sie mit C # nicht vertraut sind, sollten Sie sich einige Zeit mit der Syntax vertraut machen (versuchen Sie dies hervorragend interaktives Tutorial). Wenn Sie noch nie zuvor programmiert haben, führen Sie auch diesen Schritt aus und arbeiten Sie sich dann einige Zeit durch die Rätsel Projekt Euler. Auf diese Weise können Sie sich mit den Problemen vertraut machen, mit denen Sie sich beim Programmieren befassen, und mit den Fähigkeiten, die Sie zum Lösen von Problemen benötigen.
Wenn Sie Probleme mit C # lösen möchten, empfehlen wir Ihnen, einige Zeit damit zu verbringen, Unity mithilfe von C # zu erkunden ausgezeichnete Anfänger-Tutorials. Sie können auch unsere eigenen verwenden Crashkurs zu Unity Ein Spiel mit Unity programmieren: Ein Leitfaden für AnfängerIn der sich entwickelnden Landschaft der Indie-Spieleentwicklung hat sich Unity zu einem De-facto-Standard entwickelt: Aufgrund seiner geringen Kosten, seiner einfachen Bedienung und seines breiten Funktionsumfangs eignet sich Unity ideal für eine schnelle Spieleentwicklung. Weiterlesen . Ich werde kurze Erklärungen zu allen von mir verwendeten Komponenten geben, aber dort finden Sie viele wertvolle Informationen, die Ihnen bei größeren Projekten gute Dienste leisten.
Um ein Unity-Skript verwenden zu können, benötigen Sie zunächst ein Objekt, an das Sie es anhängen können. Im Editor können Sie 3D-Objekte auf drei Arten erstellen.
- Sie können sie als Teil eines Pakets importieren.
- Sie können die Dateien in Ihren Ordner "Mein Projekt / Assets" ziehen.
- Sie können sie im Editor über das GameObject-Menü am oberen Bildschirmrand erstellen. Auf diese Weise können Sie einfache primitive Formen wie Würfel und Kugeln sowie Text und Partikel erstellen.
Wenn Sie sie importieren oder in den Assets-Ordner ziehen, werden sie im Unterfenster "Projekt" angezeigt. Sie können sie ins Spiel bringen, indem Sie die Registerkarte "Szene" auswählen und darauf ziehen. Sie sollten sie dann in der Welt erscheinen sehen. Mit den Steuerelementen in der oberen linken Ecke können Sie sie nach Ihren Wünschen skalieren, drehen und positionieren. Objekte können einander "übergeordnet" werden (wodurch sie sich drehen und zusammen bewegen), indem ihre Namen auf der Registerkarte "Hierarchie" aufeinander gezogen werden.
Sobald sich ein Objekt in der Szene befindet, können Sie ein oder mehrere Skripte daran anhängen. Diese Skripte erwecken das Objekt zum Leben. Sie lassen Waffen schießen, Kugeln bewegen sich und Charaktere gehen und reden.
Um ein Skript hinzuzufügen, wählen Sie das Objekt, das Sie steuern möchten, auf den Registerkarten "Szene" oder "Hierarchie" aus. Die Registerkarte "Inspektor" ändert sich und zeigt alle an das betreffende Objekt angehängten Komponenten an. Ein typisches Objekt sieht ungefähr so aus und enthält einige Elemente:
- Ein Netzfilter zeigt der Spiel-Engine an, welche Form das Objekt hat.
- Ein Renderer zeichnet das Objekt tatsächlich auf den Bildschirm.
- Ein starrer Körper teilt der Physik-Engine mit, dass das Objekt existiert, und definiert seine Eigenschaften.
- Ein Collider definiert die physikalischen Grenzen des Objekts: Sie können physikalische Berechnungen billiger machen, indem Sie einem komplexen Objekt einen einfachen Collider wie eine Box oder eine Kugel geben.
Auf der Registerkarte "Inspektor" können Sie über die Schaltfläche "Komponente hinzufügen" unten ein neues Skript hinzufügen. Von hier aus können Sie entweder ein bereits erstelltes Skript hinzufügen oder ein neues erstellen. Ändern Sie die Sprache in "C #", geben Sie den gewünschten Namen ein und klicken Sie auf "Erstellen". Dadurch wird dem Objekt ein neues (leeres) Skript hinzugefügt. Durch Doppelklicken auf den Namen des Skripts auf der Registerkarte "Inspektor" wird das Skript in MonoDevelop, dem Code-Editor von Unity, geöffnet.
In Ihrer neuen Datei werden die Funktionen "Start" und "Aktualisieren" angezeigt. "Start" wird ausgeführt, wenn das Objekt zum ersten Mal erstellt wird. Führen Sie dort alle erforderlichen Einstellungen durch. "Update" führt jeden Frame aus und ist der Ort, an dem der größte Teil der Logik abgelegt werden sollte.
Um auf die Komponenten des Objekts zuzugreifen, können Sie "gameObject" eingeben. Renderer, "gameObject.rigidbody" usw., je nachdem, welches Element Sie steuern möchten. Öffentliche Variablen, die vor der Startfunktion deklariert wurden, werden im Editor angezeigt, sodass Sie sie leichter optimieren können. Weitere Informationen zur Interaktion mit verschiedenen Systemelementen finden Sie unter Unity-Handbuch.
Dies ist ein einfaches Skript, das ich erstellt habe und das bewirkt, dass sich ein Objekt basierend auf einer Sinuswelle rhythmisch ausdehnt und zusammenzieht. Erstellen Sie einen Cube in Unity, fügen Sie ein Skript hinzu und kopieren Sie das Skript in die Methode "Aktualisieren". Nachdem Sie es gespeichert und im Editor auf die Schaltfläche "Wiedergabe" geklickt haben, sollte sich der Würfel ausdehnen und zusammenziehen. Stellen Sie sicher, dass das Objekt "Kamera" so positioniert ist, dass es das Objekt sehen kann!
VR-Modus aktivieren
Nachdem wir eine grundlegende Unity-Szene eingerichtet haben, können Sie sie auf Ihrem VR-Headset anzeigen. Wir werden das SteamVR-Plugin verwenden, das sowohl für das Oculus Rift als auch für das HTC Vive gerendert wird, wenn es schließlich veröffentlicht wird. Es ist eine einfache Möglichkeit, sich für beide zu entwickeln.
Wechseln Sie auf der Registerkarte "Projekt" zum SteamVR-Ordner und öffnen Sie den Unterordner "Fertighaus". Sie sehen mehrere Entitäten, die Sie verwenden können. Ziehen Sie die Prefabs "CameraRig" und "SteamVR" in die Szene. Diese sind bereits mit allem ausgestattet, was Sie brauchen. Verschieben Sie sie in Ihre Szene (an derselben Stelle positioniert). Bewegen Sie sie so, dass sie den Würfel sehen können. Löschen Sie jetzt die ursprünglichen (Nicht-VR-) Kameraobjekte. Wenn mehr als eine aktive Kamera in einer Szene vorhanden ist, wird ein Fehler ausgelöst, da Unity nicht weiß, welche Sie verwenden möchten.
Wenn Sie dies noch nicht getan haben, installieren Sie das Oculus Windows Runtimeund schließen Sie Ihr DK2 an.
Starte deinen Computer neu. In der Taskleiste sehen Sie das Oculus Eye-Logo. Wenn Sie darauf klicken, erhalten Sie die Option, den Selektor "Anzeigemodus" und das Konfigurationsdienstprogramm zu öffnen. Stellen Sie den Anzeigemodus auf "Direkt". Öffnen Sie anschließend das Dienstprogramm "Oculus Configuration". Stellen Sie sicher, dass Sie die Demoszene sehen können. Wenn Sie dies nicht können, debuggen Sie dies, bevor Sie fortfahren.
r / Oculus ist eine gute Ressource für solche Dinge. Die Demoszene sollte reibungslos ablaufen und die Drehung und Position Ihres Kopfes ohne Ruckeln oder Doppelbilder verfolgen.
Wenn es nicht richtig funktioniert, überprüfen Sie, ob Ihre Kamera Sie sehen kann und richtig angeschlossen ist. Stellen Sie außerdem sicher, dass Ihre Grafikkarte ausreichend leistungsfähig ist und keine intensiven Anwendungen im Hintergrund ausgeführt werden.
Wenn Sie überprüft haben, ob Ihr VR-Headset ordnungsgemäß funktioniert, öffnen Sie Unity und drücken Sie die Wiedergabetaste. Die einfache Szene, die wir eingerichtet haben, sollte auf Ihrem VR-Headset angezeigt werden! Herzlichen Glückwunsch: Sie haben gerade Ihre erste VR-Demo erstellt!
Machen Sie Ihr erstes VR-Spiel
So weit, so einfach - aber dies ist keine besonders beeindruckende Demo. Um Ihnen einen Eindruck davon zu geben, wie es ist, ein involvierteres Projekt zu erstellen, werde ich Sie durch den Prozess der Erstellung eines vollständigen VR-Arcade-Spiels führen, das ich bereits abgeschlossen habe AsteroidVR.
Dies ist kein Skyrim, aber es ist ein vollständiges Spiel, das Sie spielen können, mit funktionierenden Grafiken und einer vollständigen Mechanik. Die Erstellung dauerte einige Tage und entspricht in etwa den Proof-of-Concept-Demos, die Sie beim Experimentieren mit verschiedenen Spielstilen erstellen werden.
Das Spiel ist einfach genug: Sie steuern ein Schiff, das in einem großen Raum gefangen ist. Das Fahrzeug bewegt sich mit konstanter Geschwindigkeit. Sie können steuern und schießen, aber nicht anhalten. Der Raum füllt sich langsam mit zufällig großen „Asteroiden“, die ziellos durch den Raum springen. Ihre Aufgabe ist es, so lange wie möglich zu vermeiden, gegen diese Asteroiden oder die Wände zu stoßen. Sie können zwar Asteroiden abschießen, aber Ihre Munition wird langsam aufgeladen, wenn Sie keine mehr haben.
Das ist die Grundidee. Lass uns anfangen. Da dies nur eine Demo ist, werden wir unsere Assets aus einfachen Grundelementen wie Würfeln und Kugeln erstellen (unter Verwendung des Primitive Plus-Assets).
Schiff
Hier ist das Schiff, das ich erstellt habe.
Ich gebe zu, es sieht einem Gabelstapler sehr ähnlich, aber für diese Demo reicht es aus.
Achten Sie beim Bau des Cockpits darauf, dass Sie einige offensichtliche Strukturen in das Sichtfeld des Benutzers einfügen, insbesondere in die Peripherie. Dies hilft, Reisekrankheit zu vermeiden, indem dem Benutzer einige feste Elemente gegeben werden, wodurch das Gefühl verringert wird, dass er sich bewegt. Das macht es ihrem Gehirn leichter, mit dem Bewegungsmangel umzugehen, über den ihre Innenohren berichten.
Ich musste mit mehreren Cockpit-Konfigurationen experimentieren, bevor ich eine fand, die mich nicht krank machte. Fügen Sie im Zweifelsfall weitere Streben hinzu und bewegen Sie die Kamera zurück. Achten Sie auf die Größe! Eine Einheit in Unity ist ein Meter in VR. Behalten Sie also die Größe der Elemente im Auge, die Sie erstellen. Es ist einfach, Objekte zu erstellen, die in VR lächerlich groß oder lächerlich klein sind, und die Ergebnisse können beunruhigend sein.
Wenn Sie mit dem Bau Ihres Schiffes fertig sind, erstellen Sie einen Würfel, der es umgibt, und überordnen Sie alle Grundelemente des Schiffs. Dadurch werden die Kollisionsbox und das Bewegungszentrum bereitgestellt. Fügen Sie dem äußeren Würfel einen „starren Körper“ hinzu und deaktivieren Sie den Renderer (indem Sie ihn im Inspektor deaktivieren). Stellen Sie sicher, dass der starre Körper so eingestellt ist, dass sowohl "kinematisch" als auch "Schwerkraft verwenden" deaktiviert sind. Fügen Sie jedem der Schiffsprimitive weitere starre Körper hinzu, und setzen Sie sie diesmal als "kinematisch", deaktivieren Sie jedoch "Schwerkraft verwenden".
Bewegen Sie die Objekte "CameraRig" und "SteamVR" in das Cockpit und positionieren Sie sie dort, wo sich der Kopf des Benutzers im Schiff befinden sollte. Ich habe ein anderes freies Unity-Asset (einen humanoiden Roboter) verwendet, um sicherzustellen, dass die Position korrekt ausgerichtet ist. Übergeordnet sie dem äußeren Würfel - dies führt dazu, dass sie sich mit dem Objekt bewegen.
Nun, um das Schiff zu schreiben! Hier sind die beiden von mir erstellten Skripte - Fahrzeugsteuerung und Fahrzeugzerstörer. Der erste liest die Eingaben des Benutzers und gibt dem Schiff Stöße, wodurch es sich bewegt. Der zweite erkennt, wenn das Schiff mit etwas mit der Aufschrift "Stein" kollidiert, und beendet das Spiel. Als lustiges kleines Extra zerlegt es das Schiff auch in seine Komponenten, sodass Sie sehen können, wie sie während einer Kollision wegfliegen. Das Skript erstellt eine Reihe von Objekten, die Sie im Editor mit allen Grundelementen im Schiff ausfüllen müssen.
Das Skript zeigt auch einige Anweisungen an, die angezeigt werden, wenn Sie sterben. Erstellen Sie ein TextMesh-GameObject und stellen Sie es so ein, dass „Sie sind gestorben! Schießen Sie, um neu zu starten! " Positionieren Sie dieses TextMesh im Cockpit, ordnen Sie es dem Schiff zu und deaktivieren Sie die Renderer-Komponente. Ziehen Sie es dann auf die "Anweisungs" -Variable des VehicleDestroy-Skripts im Inspektor. Dieser Text ist normalerweise unsichtbar, erscheint aber wieder, wenn Sie sterben.
Asteroid
Als nächstes werden wir unsere Asteroiden erschaffen. Hier ist der Asteroid, mit dem ich gelandet bin, bestehend aus ein paar zusammengeklebten Grundelementen und dem Standard-Shader. Nichts zu kompliziert, aber es sieht ziemlich gut aus.
Ich habe einen starren Körper hinzugefügt und ihn als "Stein" markiert. Wenn Sie mit dem Unity-Tag-System nicht vertraut sind, lesen Sie die relevante Handbuchseite. Grundsätzlich können Sie mit Tags Objekten spezielle Eigenschaften zuweisen, die bei Kollisionen erkannt werden können, und Skripten mitteilen, mit welchen Interaktionen sie interagieren. In diesem Fall erkennt das Schiffsobjekt anhand des Tags, dass es von etwas Gefährlichem getroffen wurde.
Nun zum Skript des Asteroiden. Das Skript hier ist "AsteroidInit", das zwei Dinge tut.
- Erstens werden die Asteroiden ein wenig randomisiert, damit sie deutlich aussehen, und jeder tritt in eine zufällige Richtung.
- Zweitens erkennt es, ob der Asteroid von etwas getroffen wurde, das als "Kugel" gekennzeichnet ist. Wenn ja, aktiviert es einen Partikelemitter, den ich an den Asteroiden gebunden habe, und zerstört das ursprüngliche Objekt.
Arena
Toll! Die beiden Grundelemente des Spiels sind vorhanden. Als nächstes die Arena. Es kann jede gewünschte Form haben, aber stellen Sie sicher, dass es groß ist. Das Drehen in kleinen Kreisen neigt dazu, Menschen krank zu machen. Geradeaus fliegen ist relativ harmlos. Kennzeichnen Sie alle Wände mit "Stein", um sicherzustellen, dass das Schiff zerstört wird, wenn es in sie hineinfliegt. Hier ist die Arena, in der ich gelandet bin:
Sie werden feststellen, dass die Wände eine einfache Platzhaltertextur haben, die ich im GIMP erstellt habe. Der Einfachheit halber habe ich das Spiel größtenteils mit einer texturlosen Ästhetik gestaltet. Ich stellte jedoch fest, dass es mir schwer fiel zu sagen, wann ich kurz davor war, gegen eine Wand zu stoßen, sodass sie Texturen für Spielzwecke erhalten. Ich habe der Arena auch einen Partikelemitter hinzugefügt, der sie mit schwachen, langlebigen statischen Partikeln füllt. Auf diese Weise können Sie leichter erkennen, wie Sie sich bewegen, wenn Sie sich nicht in der Nähe eines Objekts befinden. Glücklicherweise ist die Arena ziemlich passiv, sodass sie selbst kein Skript benötigt.
Erstellen Sie zum Schluss ein Grundelement (ich habe einen Hohlzylinder verwendet) und platzieren Sie es an einer Wand.
Dies wird Ihr Asteroiden-Laicher sein. Fügen Sie dieses Skript hinzu. Sie werden feststellen, dass dieses Skript eine GameObject-Variable "Asteroid" deklariert, die im Editor sichtbar sein sollte. Ziehen Sie Ihr Asteroidenobjekt im Editor darauf. Auf diese Weise kann eine unbegrenzte Anzahl von Asteroiden mit einer Geschwindigkeit von einer pro Sekunde erzeugt werden, was dem Spiel eine langsam eskalierende Schwierigkeitskurve verleiht. Platzieren Sie Ihren ursprünglichen Asteroiden sehr weit entfernt, um zu verhindern, dass er versehentlich zerstört wird oder Probleme verursacht.
HUD und Gun
Zu diesem Zeitpunkt ist die grundlegendste Form des Spiels im Wesentlichen spielbar. Jetzt werden wir einige sekundäre Funktionen hinzufügen, die ihm etwas mehr Tiefe verleihen. Dieses Skript, das an ein "TextMesh" angehängt ist, verfolgt, wie lange Sie am Leben sind. Ein zweites Skript kommuniziert mit einer Datei, um Ihren Highscore zu ermitteln, der beim Neustart vom Fahrzeugführer in die Datei geschrieben wird. Jetzt haben Sie ein einfaches Anzeigesystem, das dem Spieler ein Tor gibt. Verankern Sie diese Maschen im Cockpit, wo sie gut sichtbar sind.
Schließlich müssen wir die Waffen des Benutzers implementieren. Fügen Sie dem Schiff ein "Waffen" -Objekt hinzu (es muss nicht kompliziert sein) und ziehen Sie dieses Skript darauf. Sie müssen ein Aufzählungsobjekt verknüpfen, bei dem es sich um ein beliebiges Objekt mit einem starren Körper und dem Aufzählungszeichen "Aufzählungszeichen" handeln kann. Machen Sie es hell, damit es sichtbar ist. Positionieren Sie es erneut weit entfernt, damit es nicht interagiert. Schließlich müssen Sie eine Munitionsanzeige erstellen. Fügen Sie dieses Skript einem anderen Textnetz hinzu und verankern Sie es im Cockpit, wo es leicht zu sehen ist.
Feintuning
Das wars so ziemlich! Zu diesem Zeitpunkt sind alle Grundelemente des Spiels beendet. Jetzt ist es Zeit zu testen. Sie können den Größenbereich für die Asteroiden, die Form und Größe der Arena, die Geschwindigkeit des Schiffes, die Munitionsmenge, die Wiederaufladungsrate und die Abklingzeit ändern. Sie können mit der Handhabung des Schiffes experimentieren. Wenn Sie möchten und über einige 3D-Modellierungsfähigkeiten verfügen, können Sie sogar meine Programmierkunst durch echte Assets ersetzen und daraus ein poliertes Spiel machen. Das Wichtigste ist, viel zu experimentieren und herauszufinden, was sich für Sie gut anfühlt und für Tester angenehm ist (vorzugsweise Tester, die VR noch nicht kennen und noch keine Eisenmägen entwickelt haben).
Wenn Sie das gesamte Unity-Projekt sehen und damit herumspielen möchten, können Sie es herunterladen Hier. Wenn Sie nur meine Version des endgültigen Spiels spielen möchten, können Sie sie herunterladen Hier.
Erstellen Sie Ihre eigenen Demos
Wenn Sie Ihrem eigenen Tutorial folgen und in den Dokumenten stöbern, wenn Sie etwas finden, das Sie nicht verstehen, erhalten Sie einen ziemlich guten Überblick über die grundlegende Erstellung von VR-Spielen in Unity. Wenn Sie weiter gehen möchten, sind Sie dafür gut gerüstet.
Abgesehen davon unterscheidet sich die VR-Spieleentwicklung stark von der traditionellen Spieleentwicklung, also werde ich geben Einige allgemeine Ratschläge zum Entwerfen von VR-Erlebnissen, die komfortabel sind und die Vorteile des Mittel.
Bewegung
Respektieren Sie zunächst und vor allem die Kopfbewegung des Benutzers. Skalieren Sie es nicht, verziehen Sie es nicht, ändern Sie nicht das Sichtfeld oder spielen Sie auf andere Weise mit den Grundlagen. Oculus und Valve haben sich große Mühe gegeben, dieses Zeug zu optimieren, um die Menschen nicht krank zu machen. Wenn Sie keine Wahrnehmungspsychologen zur Hand haben, sind Sie nicht qualifiziert, daran zu manipulieren. Nicht! Achten Sie auch darauf, es niemals auszuschalten. Erstellen Sie keine Menüs ohne Head Tracking. Nichts macht dich schneller krank, als wenn ein riesiger Gegenstand zehn Sekunden oder länger an deinem Kopf klebt!
Seien Sie in der gleichen Weise vorsichtig mit der Bewegung. Der Hauptfaktor, der Menschen krank macht, ist, wenn ihre Augen Bewegungen wahrnehmen, die ihr Innenohr nicht wahrnimmt. Halten Sie die Bewegung im Allgemeinen langsam und gleichmäßig. Beschleunigungen sollten sofort erfolgen und die Drehung sollte minimiert werden. Wenn eine Rotation stattfinden muss, geben Sie dem Benutzer feste Bezugspunkte in seiner peripheren Sicht. Wenn Sie können, erstellen Sie Spiele, die ohne Bewegung stattfinden. Es gibt eine Menge cooler Dinge, die Sie in einem einzelnen Raum oder mit winzigen Gegenständen erledigen können (denken Sie daran Echtzeit-Strategiespiele 4 ausgezeichnete Echtzeit-Strategiespiele, die Sie günstig spielen könnenDas Echtzeit-Strategie-Genre ist heute eine der Grundvoraussetzungen für Spiele. Andere Genres, wie Ego-Shooter und Rollenspiele, sind mit Hunderten verschiedener Titel gesättigt, aber die Echtzeitstrategie hält die ... Weiterlesen und es wird viel einfacher sein, diese Erlebnisse angenehm und angenehm zu gestalten.
Benutzeroberfläche
Viele Leute möchten, wenn sie mit der Entwicklung von VR-Inhalten beginnen, automatisch Dinge an den Kopf des Benutzers anhängen, wie z. B. militärische Heads-Up-Displays. Leider funktioniert dies nicht sehr gut. Wenn Ihre Augen auf etwas weit entferntes auf der Welt gerichtet sind, werden Objekte in der Nähe Ihres Kopfes zu einem unscharfen Pixel-Durcheinander. Das Fokussieren auf Objekte in der Nähe führt zu einer Überanstrengung der Augen.
Um dies zu vermeiden, versuchen Sie, Ihre Benutzeroberfläche so weit wie möglich in die Welt zu setzen. Schauen Sie sich Spiele wie Dead Space an, um sich inspirieren zu lassen. Sie werden feststellen, dass in AsteroidsVR, dem obigen Cemo, die gesamte Benutzeroberfläche im Cockpit verankert ist. Da sich die Benutzeroberfläche um Sie herum befindet, ist die gesamte Benutzeroberfläche sinnvoll und angenehm anzusehen.
Seien Sie in diesem Zusammenhang vorsichtig mit dem Text. Aktuelle VR-Headsets haben eine ziemlich niedrige Auflösung, insbesondere wenn Sie berücksichtigen, wie viel von Ihrem Gesichtsfeld sie abdecken. Das bedeutet, dass Text ziemlich schwer zu lesen sein kann. Versuchen Sie, sich so wenig wie möglich darauf zu verlassen. Der Text, den Sie haben, sollte groß genug sein, um unter normalen Anzeigebedingungen gut lesbar zu sein. Denken Sie daran, dass einige Ihrer Spieler möglicherweise älter oder sehbehindert sind! Err auf der Seite von zu groß.
Grafik
Denken Sie daran, dass VR sehr intensiv ist. Das DK2 muss mit 1080p in 3D mit 75 fps laufen. Sowohl das Consumer Rift als auch das HTC Vive laufen mit noch höheren Auflösungen und Frameraten. Wenn diese Bildraten nicht erreicht werden, flackert das Doppelsehen. Es ist äußerst ärgerlich und ein One-Way-Ticket für Orientierungslosigkeit und Augenbelastung.
Infolgedessen müssen Sie bei der Leistung viel vorsichtiger sein als normalerweise. Das bedeutet, die Anzahl der Polycounts niedrig zu halten und teure grafische Effekte zu minimieren. Verwenden Sie einfache Modelle, halten Sie die Anzahl der Lichter auf ein Minimum, deaktivieren Sie dynamische Schatten und versuchen Sie, dass so viele Objekte wie möglich dasselbe Material verwenden. Sie sollten auch alle Objekte, die sich nicht ändern oder bewegen, im Inspektor als "statisch" markieren. Dies erleichtert es Unity, sie zusammenzufassen und Leistung zu sparen. Wenn Sie können, machen Sie diese Einschränkungen zu einem Teil Ihres Spieldesigns, indem Sie eine Cartoony-Ästhetik für Ihr Spiel auswählen. Wenn Sie einen visuellen Effekt eliminieren können, ohne das Spiel zu beeinträchtigen, tun Sie dies im Allgemeinen.
Die einzige Ausnahme von dieser Faustregel ist das Anti-Aliasing. Aliasing (ein gezacktes Artefakt, das durch die diskrete Natur der Computergrafik verursacht wird) tritt bei jedem Auge unterschiedlich auf, was zu einer unangenehmen Störung des 3D-Effekts führt, die zu einer Belastung der Augen führen kann. Verwenden Sie so viel Anti-Aliasing, wie Sie sich leisten können (ich empfehle MSAA), und vermeiden Sie Texturen mit hochfrequenten visuellen Details (wie Laub, feine Gitter oder komplexe Texturen, die weit entfernt positioniert sind).
Einige visuelle Effekte eignen sich auch schlecht für VR im Allgemeinen, selbst wenn Sie sie sich leisten können.
- Seien Sie vorsichtig bei Nachbearbeitungseffekten wie Bloom, die zu eigenen Stereodisparitäten führen können.
- Beachten Sie auch, dass 3D einige gängige visuelle Cheats extrem schlecht aussehen lässt. Normale Karten, ein Grundnahrungsmittel für Videospiele, sehen aus der Nähe in VR völlig flach aus. Billboard-Sprites (wie sie üblicherweise für Explosionen verwendet werden) sehen ebenfalls flach aus und können das Eintauchen wirklich unterbrechen. Ebenso sehen viele der Sprite-basierten Techniken, mit denen Trümmer oder Vegetation gerendert werden, flach und falsch aus.
- Seien Sie schließlich vorsichtig mit transparenten Objekten. Moderne Rendering-Engines haben Probleme, die Tiefe zu verfolgen, wenn Sie viele transparente Objekte in derselben Szene haben. Dies wird in VR extrem unangenehm. Versuchen Sie, die Anzahl der transparenten Objekte auf ein Minimum zu beschränken, und vermeiden Sie Szenarien, in denen Sie ein transparentes Objekt durch ein anderes sehen können.
Denken Sie daran, wenn Sie Kunstobjekte erstellen, und Sie sparen sich auf der ganzen Linie viel Schmerz.
Wenn Sie feststellen, dass Ihr Spiel nach dem Ausschalten all dieser grafischen Effekte etwas eintönig aussieht, versuchen Sie, leichte Karten und falsche Umgebungsokklusion zu verwenden. Lichtkarten backen die Beleuchtung direkt in eine Texturebene auf der Karte, die für alles, was sich nicht bewegt, gut aussieht und Ihrer Welt viel Tiefe und Solidität verleihen kann. Erwägen Sie bei dynamischen Objekten (wie Zeichen) die Verwendung von „Shadow Blob“ -Texturen, um eine Umgebungsokklusion zu erzeugen. Es ist nicht ganz realistisch, aber es trägt viel dazu bei, sie in der Welt zu verankern, und es ist grafisch extrem billig!
Mit der Zeit werden diese Arten von Hacks weniger notwendig sein, aber im Moment müssen Sie so viele wie möglich nutzen, um Leistung zu sparen.
Experimentieren Sie früh und oft
Der wichtigste Ratschlag, den ich habe, ist, Ihre Vorurteile loszulassen. VR ist nicht genau das, was wir alle in den 90ern erwartet hatten. Die Realität hat viele Vor- und Nachteile, die niemand hätte vorhersehen können. Was auf dem Papier großartig klingt (wie VR Halo) stellt sich in der Praxis als verwirrend und widerlich heraus. Einige der am besten aufgenommenen VR-Erfahrungen Oculus Rift VR-Simulationen, die Sie sehen müssen, um zu glaubenSie haben den Oculus Rift gesehen, aber Sie haben einige der verrückten Verwendungszwecke, für die er eingesetzt wurde, nicht gesehen. Schauen Sie sich diese fantastischen Oculus Rift-Demos aus der ganzen Welt an. Weiterlesen waren wirklich komische Sachen wie Job Simulator, ein Sandkastenspiel in einer Küche.
VR ist ein völlig neues Medium, und noch versteht niemand die Regeln. In traditionellen Videospielen wissen wir ziemlich genau, wie man einen FPS, ein Rollenspiel und einen Cover-Shooter macht. Diese Grundgenres sind festgenagelt. Es gibt Best Practices. Jedes neue Spiel ist eine schrittweise Verbesserung, aber normalerweise kein neues Genre. In VR gibt es nichts ABER neue Genres. Die Grundlagen des Mediums wurden noch nicht einmal erfunden. Niemand weiß, was sie tun.
Das ist unglaublich aufregend, aber es bedeutet, dass Sie flexibel sein müssen. Wenn Sie eine großartige Idee haben, dann tun Sie es! Sofort! Lassen Sie einen Prototyp so schnell wie möglich fertig stellen und prüfen Sie, ob er funktioniert. Aber seien Sie bereit, das Experiment scheitern zu lassen. Wenn Ihre Idee keinen Spaß macht oder Ihre Tester krank macht, werfen Sie sie weg und probieren Sie etwas Neues aus.
Machen Sie jede Woche oder sogar jeden Tag ein neues Spiel, bis Sie Gold schlagen. Je mehr fehlgeschlagene Prototypen Sie herstellen, desto höher sind Ihre Chancen, etwas wirklich Cooles zu erfinden. Mach komische Spiele. Machen Ja wirklich seltsame Spiele. Niemand weiß, was funktionieren wird und was nicht, also werfen Sie ein weites Netz. Sie könnten überrascht sein, was sich als großartig herausstellt.
Also geh raus, mach ein paar Spiele - und vor allem viel Spaß!
Andre ist ein im Südwesten ansässiger Schriftsteller und Journalist, der garantiert bis zu 50 Grad Celsius funktionsfähig bleibt und bis zu einer Tiefe von zwölf Fuß wasserdicht ist.