News:

Willkommen im Notebookcheck.com Forum! Hier können sie über alle unsere Artikel und allgemein über Notebook relevante Dinge disuktieren. Viel Spass!

Main Menu

Mixed Reality (MR) in 9 einfachen Schritten

Started by MSI News, September 22, 2016, 10:48:34

Previous topic - Next topic

MSI News

Seit der Veröffentlichung von VR-Produkten (Virtual Reality) wie die HTC Vive und die 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. Auch wir haben ein Spiel veröffentlicht: MSI Electric City. Es wurde dazu entwickelt, die virtuelle Realität kennen zu lernen, 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:
https://www.youtube.com/watch?v=qYfNzhLXYGc
https://www.youtube.com/watch?v=TckqNdrdbgk
https://www.youtube.com/watch?v=uYYPG4RQ63w



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

Mixed Reality-Einkaufsliste (https://docs.google.com/spreadsheets/d/14XVVbX42uImZAycQzeutpaG7EIUOYyNcgBE5KsTMFiE/edit?usp=sharing)

Wenn du bereits mit Vive und einem VR-kompatiblen High-End-PC ausgestattet bist, würde dich der Kauf aller in der MR-Einkaufsliste aufgeführten Artikel ca. 800 € kosten (ohne Videokamera). Unter Umständen kannst du jedoch bei günstigen Anbietern Schnäppchen finden.


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 eine spezielle Konfigurationsdatei 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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_01.jpg)



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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_02.jpg)



Schritt 3: Anschließen einer Videokarte oder -box

Videokarten oder -boxen werden dazu genutzt, 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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_03.jpg)



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(https://drive.google.com/file/d/0ByJR3tHhfY56b19oaGZvaDlxWDQ/view?usp=sharing) 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).

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_04.jpg)


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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_05.jpg)


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

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_06.png)
(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.
7. 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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_07.jpg)
(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 (OBS Studio-Download hier https://github.com/jp9000/obs-studio/releases/download/0.15.2/OBS-Studio-0.15.2-With-Browser-Installer.exe) und starte sie.
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".

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_08.jpg)


4. Klicke mit der rechten Maustaste auf das hinzugefügte Gerät, wähle ,,Filter" aus und 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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_09.jpg)


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

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_10.jpg)


6. 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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_11.jpg)


7.  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.

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_12.jpg)



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:

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_13.jpg)
(Die Positionierung und Ausrichtung der Kamera sowie die voreingestellte Position des Controllers sollten wie oben dargestellt gewählt werden.)


1. Messe 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°.)

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_14.jpg)

(http://msi-gaming.de/files/pic-upload/VR/MixedReality_15.jpg)


2. 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 (http://www.tawbaware.com/maxlyons/calc.htm) 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:

Sony HDR CX405: 42,7  (Quelle: von mir gemessen und berechnet)
Logitech C920 oder C910: 43,3 (Quelle: Forenthema zur SteamVR Mixed Reality)
Vollbild mit 35-mm-Objektiv: 27 (Quelle: Forenthema zur SteamVR Mixed Reality)
PS3 Eye (Sichtfeldmodus 75): 45 (Quelle: Forenthema zur SteamVR Mixed Reality)

Wenn du den vertikalen FOV-Wert nicht berechnen konntest, lies bitte weiter.

3. 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


4. 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.

5. 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.

6. 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.



https://www.youtube.com/watch?v=phAjPzzIxZ4

(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.
Offizielle News zu MSI und MSI-Produkten.

Quick Reply

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name:
Email:
Verification:
Please leave this box empty:

Shortcuts: ALT+S post or ALT+P preview