Diesmal geht es kurz und knapp nur darum wie man die Oculus Ready Version des Unreal Development Kits (UDK) einrichten muss um ein Oculus Rift Spiel zu erstellen. Mit dieser Anleitung kann man jede bestehende Map einfach laden und mit dem Rift erkunden. Mit ein klein wenig mehr Aufwand ist auf diese Weise ein UnrealTournamentVR schnell entwickelt.

Dieses Tutorial sollte eigentlich Hand Tracking anhand des Razer Hydra erklären. Da allerdings ständig neue Dinge dazwischen gekommen sind (Server Wechsel, Studium),gibt es hier zunächst die viel gesuchte Anleitung: „Wie aktiviere ich den Oculus Rift Modus in der neusten UDK Version?“ Nicht alle genannten Schritte sind notwendig, die meisten sind aber empfehlenswert. Diese Anleitung geht noch nicht auf die Kombination „Full Body Awareness“ und Oculus Rift ein, sondern soll erst einmal erklären wie man das Rift zusammen mit UDK zum Laufen bekommt.

Ladet euch zuerst die neuste UDK Version aus dem Oculus Developer Center herunter und installiert sie. Die Version aus dem Developer Center ist eine spezielle Version und entspricht nicht der neusten Version von der offiziellen UDK Webseite. Wählt beim Installieren der Einfachheit halber die Option PSGameUT3Title aus. Bei dieser Option werden die Unreal Tournament 3 Klassen mit installiert. Sie nehmen zwar zusätzlichen Platz ein, haben aber den Vorteil, dass man vieles nicht mehr selber schreiben muss. Zum Testen also ideal.

install

Nach der Installation muss der Oculus Rift Modus aktiviert werden: Öffnet die UDKEngine.ini. Sie ist zu finden unter UDK\UDK-2013-03\UDKGame\Config\. In der Kategorie [Engine.Stereo3D] muss der Schlüssel bEnabled von false auf true gesetzt werden. Unter [Engine.Oculus] muss dann bDisableWalkBob auf true gesetzt werden, damit euch beim Spielen nicht direkt schlecht wird.  Zusätzlich sollte der Schlüssel AddEyeHeight hinzugefügt und auf 30 gesetzt werden, ansonsten kommt man sich häufig wie ein Zwerg vor. Weitere interessante Einstellungen können anhand meiner Kommentare erkannt und getestet werden:

;...
[Engine.Stereo3D]
bEnabled=True
EyeDistance=0.064000 ;... Wenn ihr euren IPD Wert kennt, kann er hier eingetragen werden!
HudDepth=3000
bOverrideFov=False
CrosshairOffset=1280
bVisibilityTestBothViews=True
bOverrideRecenter=False
bOverride2D=False
FrustumOffset=0.000000
MovieWidth=400
MovieDepth=100

[Engine.Oculus]
bEnableHud=True
bDisableControllerPitch=True ;Standard ist True, ist dieser Wert auf True kann mit der Maus nicht nach oben oder unten geschaut werden (loest haeufig Motion Sickness aus)
bHideGun=True ;Standard ist True, setzt man diesen Wert auf False ist die Waffe auch im Stereo (/Rift) Modus sichtbar!
bDisableDeathAnims=True
EyePosInHead=(X=12.600000,Y=0.000000,Z=7.000000)
bDisableMomentum=True
bUseDotCrosshair=True
CrosshairAlpha=64
CrosshairSize=6
CrosshairMinDistance=180
YawMult=1.000000
AccelGain=0.050000
MotionPrediction=0.020
MotionPredictionMode=2
bDisableWalkBob=True ;deaktiviert das auf und ab Bewegen der Kamera beim laufen
bUpdateOnRT=True
MouseAimLimit=5461
MouseAimPitchLimit=3641
MouseAimMode=OMA_Normal ;OMA_Normal (oder 0) ist Default. Hier zielt man ausschließlich mit dem Kopf. Kann auf 1 gesetzt werden, dann ist ein Zielen mit der Maus moeglich ohne die Kamera zu bewegen.
AddEyeHeight=30.000000 
;...

Anschließend springen wir in die UDKSystemSettings.ini. Hier passen wir nun die Grafik- Einstellungen an. Unter [SystemSettings] setzten wir Fullscreen und UseVsync auf True.  Zu dem erhöhen wir den Schlüssel ScreenPercentage von 100 auf 200. (Sollte diese Einstellung nicht stabil laufen, kann der Schlüssel wieder auf 150 herunter gesetzt werden. Anschließend muss die vertikale Auflösung ResY auf 800 erhöht werden, damit sie der Developer Kit Auflösung von 1280*800 zu entspricht.

[SystemSettings]
;...
Fullscreen=True
;...
UseVsync=True
;...
ResX=1280
ResY=800
ScreenPercentage=200.000000
;...

Das war alles, was erledigt werden muss. Nun könnt ihr den Unreal Editor starten. Am einfachsten geht es über das UDK\UDK-2013-03\Binaries\UnrealFrontend.exe. Klickt dort einfach oben rechts auf UnrealEd.

Wichtig: Der Oculus Rift Modus lässt sich nur bei einem angeschlossenem Rift aktivieren!

Wie war das mit Unreal Tournament VR?

Durch die mit gelieferten Klassen ist ein VR Unreal Tournament schnell erstellt. Hier sind die Schritte noch einmal schnell erklärt:

Ist das UDK gestartet, wählt ihr File -> open und dann die DM-Deck.udk Datei aus. Diese findet man unter: <Pfad zu UDK>\UDKGame\Content\Maps\UT3. Ist die Map dann geladen, wählt man View->World Properties und dann im Reiter Gametypes unter Default Gametype und Default Gametype for PIE UTDeathmatch aus. Sofern ein Rift angeschlossen und eingeschaltet ist, kann es nun losgehen. Beim Unreal Development Kit ist es egal, ob das Rift als erweiterter Monitor oder als Duplikat angemeldet ist. Ersterestartonpcs ist allerdings meist bequemer, da man nicht zwischen den Einstellungen hin und her wechseln muss. Das Oculus Rift wird nicht im PIE (Play in Editor) Modus unterstützt, daher muss man die Map über „Start this Level on PC“ (siehe Bild, blaue Markierung) ausgeführt werden.

Sollte das Spiel nicht direkt im Stereo Modus starten, müssen folgende Befehle in die Entwickler Konsole (mittels Tabulator aufrufbar) eingegeben und jeweils mit Enter bestätigt werden werden: „stereo on“ und „hmdwarp on“.

Wer im Deathmatch gegen Bots antreten will, muss das Spiel mittels Escape gefolgt von Exit beenden und anschließend über „Instant Action“oder „Multiplayer“ ein neues Spiel mit Bots starten.

Wer nicht bis zum nächsten Tutorial warten will und sich bereits mit Unreal Scrpt auskennt, kann hier die Dokumentation herunterladen.

Weitere UDK und Oculus Rift Anleitungen gibt es hier: www.bloculus.de | Anleitungen

~Daniel

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 8 comments

  1. Michael Antworten

    Hallo, und wie baut man mit dem UDK das Unreal Turnament Game auf Rift um, weche Dateien muss man da Kopieren oder ändern ?.

    • Daniel Korgel Antworten

      Öffne mit dem Oculus Rift UDK irgendeine Map und wähle als Gametype Deathmatch aus. Die Spielmodi in der Oculus Version von UDK sind bereits angepasst und können direkt benutzt werden. In der Ini Datei müssen noch wie oben beschrieben die Parameter geändert werden.
      Wenn das Spiel trotzdem „normal“ startet, öffne die Konsole (tab) und gib ein:
      stereo on
      hmdwarp on

      Da UDK nicht alle Resccourcen für UT3 enthält, kannst du nicht das komplette UT3 fürs Rift „umbauen“. Lediglich die in UDK mitlieferten Spielmodi und Maps sind möglich (sowie selbst geschriebene Modi und selbst erstellte Maps natürlich)

      Gruß

      • Michael Antworten

        Danke für die Antwort, ist es möglich die UT3 Levels in UDK kompatible Formate zurück zu konvertieren ?.

        LG Michael.

        • Tatze Antworten

          Was sollte dagegen sprechen ? Ist halt nen gewisser Aufwand mit dem exportieren aus UT3 (oder aus den Paketen falls cooked) und importieren in UDK.

    • Daniel Korgel Antworten

      Hey,
      UDK Unterstützt nur Unreal Script, aber schau dir mal die Unity Engine an, diese Unterstützt C#.
      Du benötigst allerdings die Pro Version von Unity. Mit deinem Rift hast du allerdings eine 4 Monate kostenlos bekommen. (Auf der Sales Seite)

  2. John Antworten

    Hi, dr link im Dev Center von oculus rift zu UDK funktioniert nicht. Kann das sein oder habe ich was über sehen?

    • Daniel Korgel Antworten

      Hey,
      du benötigst einen Oculus Developer Account den du dort kostenlos registrieren kannst. Nach dem Login kommst du zum Developer Center.

      Gruß,
      Daniel

Antworten

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