CATEGORIZED AS

Mixed Reality (MR) in 9 einfachen Schritten

Posted on September 13 2016


Virtual Reality (VR) v.s. Mixed Reality (MR)

Seit der Veröffentlichung von VR-Produkten (Virtual Reality, virtuelle Realität) wie HTC Vive und Oculus Rift ist die virtuelle Realität zu einem der angesagtesten Themen in diesem Jahr geworden. Damit einher ging ein Zuwachs bei den Verkaufszahlen der VR-kompatiblen High-End-PCs. Als Hersteller für Gaming-Hardware empfiehlt MSI für ein optimales VR-Erlebnis die Verwendung des Motherboards Intel B150 oder höher zusammen mit der Grafikkarte NVIDIA GeForce 1070 oder den Kauf des neuesten AEGIS TI-Desktop-Computers mit VR Link. Auf dieser Seite findest du alle von uns angebotenen VR-kompatiblen Produkte. Wenn dein PC bereits alle Anforderungen hinsichtlich der Leistung erfüllt, bietet unser letzter Artikel „MAINSTREAM-VR-ZUBEHÖR: MACH DICH BEREIT FÜR DIE VR-REVOLUTION“ Anregungen zum Kauf von VR-Zubehör. Im Artikel zu den NEUESTEN VR-TITELN erfährst du wiederum alles Wissenswerte zu den aktuell verfügbaren Spielen. Auch wir haben ein Spiel veröffentlicht: MSI Electric City. Es wurde dazu entwickelt, die virtuelle Realität kennenzulernen, und kann auf der entsprechenden Webseite heruntergeladen werden.

Nun möchten wir dir ein paar Tipps zur Gestaltung von Mixed-Reality-Videos geben, die Einblicke in eine virtuelle Welt gewähren sollen. Nachstehend findest du einige erläuternde Videos (Quelle: The CY):

 (HTC Vive SteamVR Werbevideo)

 (Tilt Brush Werbevideo)

 (Sound Stage Werbevideo)

 


Schritt 1: Kauf der Ausrüstung und Vorstellung von Konzepten

 

Konzept:

Es gibt einige Unity-Spiele mit MR-Videounterstützung, darunter Space Pirate Trainer, Job Simulator, Zenblade und Tilt Brush. Hier öffnet sich automatische die MR-Aufnahme, nachdem ein dritter Controller angeschlossen und ein spezielles Konfigurationsdokument erstellt wurde. Der dritte Controller dient der Positionierung der Kamera, mit der die virtuelle Umgebung erzeugt wird. Bei der Bearbeitung der Videodaten des Spiels in der Realität wird der Hintergrund entfernt. In Echtzeit werden dann die verschiedenen Bilder mithilfe der Open Broadcaster Software (OBS) so zusammengesetzt, dass die Mixed Reality entsteht.

image007

  (Bildquelle: How to Create Mixed Reality Videos for the Vive - with Two Controllers, Erstellung von MR-Videos für Vive mit zwei Controllern)

 

Schritt 2: Aufbau eines Greenscreen-Studios

Mithilfe eines Greenscreen-Studios wird der Hintergrund entfernt und durch einen anderen ersetzt. Hierfür benötigst du mindestens drei grüne Tücher – zwei für die Wände und eines für den Boden. Zunächst montierst du ein Gestell an der Wand, um die beiden Tücher so aufzuhängen, dass sie sich überlappen. Anschließend kannst du das dritte Tuch einfach auf den Boden legen. Die optische Wirkung entfaltet sich am besten, wenn die Tücher an der Wand straff gezogen und mit einem Klebeband am Gestell befestigt werden, damit sie möglichst faltenfrei sind. Auch die richtige Beleuchtung im Studio spielt eine wichtige Rolle.

SONY DSC

 

Schritt 3: Anschließen einer Videokarte oder -box

Videokarten oder -boxen werden dazu genutzt, um Live-Videodaten in der OBS zu erfassen. Der Einbau einer Videokarte ist in der Regel recht aufwendig, da hierzu das Gehäuse des Computers geöffnet werden muss. Daher habe ich mir die Videobox GC550 LGX zugelegt, die über ein USB-Kabel direkt an den PC angeschlossen wird. Es muss nicht das teuerste Modell sein – meiner Einkaufsliste kannst du weitere Empfehlungen entnehmen.

SONY DSC

 

Schritt 4: Erstellung eines Ordners für die Spielkonfiguration

Kopiere folgenden Text in eine Editor-Datei und speichere sie mit der Dateierweiterung .cfg als „externalcamera.cfg“. Du kannst auch hier klicken, um die Datei direkt herunterzuladen. In diesem Fall legst du die Datei in dem Verzeichnis ab, von dem du dein MR-Spiel öffnen möchtest (unterstützt werden u. a. die Spiele Space Pirate Trainer, Job Simulator, Zenblade, und Tilt Brush).

image013

x=0
y=0
z=0
rx=0
ry=0
rz=0
fov=60
near=0.1
far=100
//m=-0.999059,0.015577,-0.040472,-0.0127,-0.016016,-0.999816,0.010544,0.1799,-0.040301,0.011183,0.999125,-0.0846
sceneResolutionScale=0.5

Schritt 5: Positionierung des dritten Controllers nahe der Kamera

Mithilfe des dritten Controllers wird die Position der Kamera ermittelt, daher ist es wichtig, dass er nahe der Kamera platziert und dann nicht mehr bewegt wird. Kameras verfügen in der Regel über einen Zubehörschuh, an dem zusammen mit einem Clip der Controller befestigt werden kann. Alternativ kannst du ihn auch direkt am Blitzgerät der Kamera anbringen. Für meinen Test habe ich den Zubehörschuh des Blitzgeräts der Sony HDR-CX405, einen L-Winkel sowie einen iPad-Clip (nach ein bisschen Suchen hatte dieser schließlich genau die richtige Größe) zur Befestigung des Controllers auf meiner Kamera verwendet.

SONY DSC

Zu empfehlen ist eine horizontale Befestigung des Controllers an der Kamera (s. u.), um die Synchronisierung zu erleichtern.

image017

(Bildquelle: ">Mixed Reality Trailers: Behind the Scenes)

 

Schritt 6: Einschalten der Controller in einer vorgegebenen Reihenfolge

Das Unity-Plug-in erkennt den dritten Controller automatisch als denjenigen, der zur Positionierung des Kameraobjektivs dient, daher ist es wichtig, dass die Controller in der folgenden Reihenfolge eingeschaltet werden:

  1. Vergewissere dich, dass keine Controller mit dem Computer verbunden sind.
  2. Schalte SteamVR an und dann wieder aus.
  3. Schalte die Controller 1 und 2 (die beiden Controller, die nicht an der Kamera befestigt sind) über die Systemtaste (die Taste unter der Scheibe) ein.
  4. Schalte SteamVR ein und bestätige, dass die Controller 1 und 2 erkannt worden sind.
  5. Verbinde Controller 3 über den USB-Anschluss.
  6. Bestätige, dass Controller 3 erkannt worden ist.

Durch die oben genannten Anweisungen soll sichergestellt werden, dass der zur Positionierung der Kamera verwendete Controller als Controller 3 erkannt wird.

 

Schritt 7: Starten eines Spiels im MR-Modus

Für unser Beispiel haben wir Space Pirate Trainer verwendet. Vergewissere dich, dass sich die Datei „externalcamera.cfg“ im Spielverzeichnis befindet, starte das Spiel und befolge diese Anweisungen:

  1. Bestätige, dass alle drei Controller von Lighthouse erkannt worden sind.
  2. Halte die Umschalttaste gedrückt, während du einen Doppelklick auf das Spiel (Space Pirate Trainer) ausführst, um dieses zu starten.
  3. Wähle die größtmögliche Bildschirmauflösung aus.
  4. In der Regel läuft das Spiel nun in der Normalansicht und ein Controller fehlt.
  5. Setze dein Headset auf und drücke die Trigger-Taste ein paar Mal, während du die Controller 1 und 2 ansiehst, bis sie beide im Spiel erscheinen.
  6. Wenn sich dein Bildschirm nun in vier Bereiche unterteilt hat, ist der MR-Modus aktiv.

 

image019

(Das sind die vier Bereiche: oben links: Vordergrund; unten links: Kamerablickwinkel – Controller 3; oben rechts: Hintergrund; unten rechts: First-Person-Blickwinkel.)

 

Schritt 8: Einrichtung der OBS

In diesem Beispiel wird ein Full-HD-Bildschirm (1080 p) verwendet:

  1. Verbinde den Kamera-Ausgang mit dem Eingang deiner Videokarte bzw. -box.
  2. Lade die OBS herunter und starte sie (OBS Studio-Download hier).
  3. Klicke unter „Quelle“ auf „+“ → „Videoaufnahmegerät“ und schalte deine Kamera ein.
    Gerät: Wähle deine Videokarte aus (in meinem Fall AverMedia GC550).
    Auflösung/Bildfrequenz (FPS): benutzerdefiniert
    Auflösung: Wähle die Auflösung der Kamera der realen Welt aus (in meinem Fall 1920 x 1080).
    Wenn das Bild deiner Kamera in der OBS erscheint, drücke auf „Bestätigen“.
    image021
  1. Klicke mit der rechten Maustaste auf das hinzugefügte Gerät, wähle „Filter“ aus, klicke auf „+“ → „Chroma Key/Color Key hinzufügen“ → „Key Color“, wähle „Grün“ als Typ und passe die Ähnlichkeit und Mischung so an, dass das Grün vollständig verschwindet.
    image023

 

  1. Starte dein Spiel im MR-Modus, drücke „+“ → füge eine Fensteraufnahme hinzu und wähle dein aktuelles Spielfenster aus.
    image025

 

  1. Klicke mit der rechten Maustaste auf den hinzugefügten Fensteraufnahmebildschirm, wähle „Filter“ aus und füge oben und rechts einen neuen Zuschneidefilter hinzu, um alle Bildschirme außer dem unten links zu entfernen. Nachdem du das Fenster vergrößert und zentriert hast, siehst du den Spielhintergrund.
    image027

 

  1. Verfahre für den Bildschirm mit dem Vordergrund ebenso, wie in Schritt 6 beschrieben, entferne das Schwarz mit dem Filter „Color Key“ und richte das Bild am Hintergrund aus. Berücksichtige hierbei folgende Reihenfolge: 1. Vordergrund, 2. Kamera, 3. Hintergrund. Synchronisiere nun in einem letzten Schritt die Kamera und den Controller.
    image029

 

Schritt 9: Synchronisierung von Kamera und Controller

Dies ist der letzte und schwierigste Schritt. Die Datei „externalcamera.cfg“ gibt den Abstand zwischen der Kamera und Controller 3, die Winkeldifferenz zwischen ihnen sowie den Sichtfeldwert (FOV) der Kamera an. Eine genaue Synchronisierung lässt sich durch die korrekte Anpassung der in diesem Dokument angegebenen Perimeter erzielen. Führe hierzu folgende Schritte aus:

SONY DSC

(Die Positionierung und Ausrichtung der Kamera sowie die voreingestellte Position des Controllers sollten wie oben dargestellt gewählt werden.)

 

  1. Miss den Abstand zwischen der Kamera und der voreingestellten Position des Controllers. Dies entspricht der horizontalen Achse (X), vertikalen Achse (Y) und Vorder-/Hintergrund (Z). Miss anschließend den Drehungswinkel (bei einer waagerechten Positionierung sollte die Drehung 0° betragen, doch bei mir gab es eine kleine Drehung nach oben von 16,5°.)
    image033

    SONY DSC

 

  1. Berechne den vertikalen Sichtfeldwert (FOV). Dies ist gar nicht so leicht, da der in den technischen Daten der Kamera angegebene Wert häufig nicht dem vertikalen FOV entspricht. Für eine professionellere Berechnung stellt Kert Gartner einen entsprechenden Rechner zur Verfügung. Ich selbst habe einen anderen Weg zur Ermittlung des FOV-Werts gewählt, der zu einem späteren Zeitpunkt erklärt wird. Nachstehend findest du einige vertikale Sichtfeldwerte für verschiedene Kameras:
  1. Eintragen der Werte
    Öffne die Datei „externalcamera.cfg“ im Editor und gib die soeben von dir gemessenen Werte ein. Die Werte für X,Y und Z werden in Metern angegeben, rx,ry und rz (rotation; Drehung) in Grad.

    So sieht das in meinem Beispiel aus: Die Positionierungsdifferenz zwischen Kamera und Controller betrug für X 2 cm, für Y 17 cm und für Z 2 cm. Der Drehwinkel für den Vorder-/Hintergrund betrug 16,5°. Speichere nach der Eingabe deiner Werte das Dokument.

x=0.02                      
y=-0.17
z=0.02
rx=16.5    
ry=0
rz=0
fov=42.7
near=0.1
far=100
//m=-0.999059,0.015577,-0.040472,-0.0127,-0.016016,-0.999816,0.010544,0.1799,-0.040301,0.011183,0.999125,-0.0846

sceneResolutionScale=0.5

  1. Starte das Spiel und zeige es in der OBS an. Schalte das Spiel so lange ein und aus, bis du die Werte so angepasst hast, dass die Anzeige dir richtig erscheint. Wenn du deine Werte präzise gemessen hast, ist nur ein geringes Maß an Feinabstimmung erforderlich, bis alles gut aussieht. Lass dir jedoch genug Zeit bei der Abstimmung der Perimeter.
  1. Wenn dir die Berechnung des vertikalen FOV-Werts in Schritt 3 nicht gelungen ist, nimmst du die Werte für XYZ oder rxyz als gegeben hin und machst stattdessen größere Anpassungen am FOV-Wert. Sobald du den FOV-Wert zu begreifen beginnst, passe die Werte langsam so lange an, bis sie dir richtig erscheinen. Anschließend nimmst du dir die Feinabstimmung von xyz und rxyz vor. Dies kann ein Weilchen dauern, doch leider lässt sich dieser Schritt nicht vermeiden. Daher ist eine korrekte Messung in den Schritten 1 und 2 so wichtig. Dies spart dir viel Zeit bei der Bestimmung des FOV-Werts.
  1. Nachdem du die zuvor genannten Schritte durchgeführt hast, ist die Synchronisierung abgeschlossen. Danach kannst du dein MR-Spiel mithilfe der OBS aufzeichnen oder live-streamen.

 

(Diese Aufnahme habe ich während meines Tests angefertigt. Das Ergebnis wäre noch besser gewesen, wenn ich die Feinabstimmung genauer vorgenommen hätte.)

------------

Wir danken dem Autor The CY vielmals für seinen Beitrag.

us