Als Interaktion zwischen dem Experten in einer VR Umgebung und dem Lokalen User wird die Microsoft Augmented Reality Brille HoloLens verwendet.
Als Interaktion zwischen dem Experten in einer VR Umgebung und dem lokalen User wird die Microsoft Augmented Reality Brille HoloLens verwendet.
Die HoloLens Bietet die Möglichkeit Hologramme in die echte Welt zu projizieren.
Die HoloLens bietet die Möglichkeit, Hologramme in die echte Welt zu projizieren.
Für die Interaktion zwischen VR und HoloLens wurde sich auf eine einfache beschränkt.
Für die Interaktion zwischen VR und HoloLens wurde sich auf eine einfache beschränkt.%@@@ Scheiß Satz
In VR wurde an einen Controller ein Laserbeam mit fester Länge befestigt.
In VR wurde an einen Controller ein Laserbeam mit fester Länge befestigt.
Bei synchronisierten Welten zwischen VR und AR sollte dieser Strahl auch in der HoloLens an dem Controller hängen.
Bei synchronisierten Welten zwischen VR und AR sollte dieser Strahl auch in der HoloLens an dem Controller hängen.
\section{Unreal Engine 4 und HoloLens}
\section{Unreal Engine 4 und HoloLens}
Es gibt keinen Offiziellen Support der HoloLens für dei Unreal Engine 4.
Es gibt keinen offiziellen Support der HoloLens für die Unreal Engine 4.
Aktuell wird das einwickeln für die neue AR Plattform nur in Unity unterstützt.
Aktuell wird das Einwickeln für die neue AR Plattform nur in Unity unterstützt.
Microsoft hat auf Github einen Fork der Unreal Engine cite{UWP} in dem Support für die Universel Windows Plattform (UWP)\todo{glossar} enthalten ist.
Microsoft hat auf Github einen Fork der Unreal Engine cite{UWP} in dem Support für die Universal Windows Plattform (UWP)\todo{glossar} enthalten ist.
UWP beitet eine allgemeine Plattform Für Apps, die auf allen Windows basierten Systemen funktionieren.
UWP beitet eine allgemeine Plattform für Apps, die auf allen Windows basierten Systemen funktionieren.
In diesem Repositoy befindet sich auch ein Development Branch der die HoloLens Unterstüzung in Unreal integriert.
In diesem Repositoy befindet sich auch ein Development Branch, der die HoloLens Unterstüzung in Unreal integriert.
Für die Implementierung wurde dieser Development Branch getestet.
Für die Implementierung wurde dieser Development Branch getestet.
Nach dem bauen der aktuellen Version wurde ein HoloLens Template \cite{UE4Holo} in die Engine geladen.
Nach dem Bauen der aktuellen Version wurde ein HoloLens Template \cite{UE4Holo} in die Engine geladen.
Jedoch gab es Probleme das Projekt zu packen, sodass es auf die HoloLens geladen werden kann.
Jedoch gab es Probleme, das Projekt zu packen, sodass es auf die HoloLens geladen werden kann.
Deshalb wurde für die AR Implementierung Unity verwendet.
Deshalb wurde für die AR Implementierung Unity verwendet.
\section{HoloLens Implementierung}
\section{HoloLens Implementierung}
Die HoloLense Applikation in Unity ist einfach gehalten worden und die notwendige Logic wurde in der VR Applikation in Unreal umgesetzt.
Die HoloLense Applikation in Unity ist einfach gehalten und die notwendige Logik wurde in der VR Applikation in Unreal umgesetzt.
Zunächst setzt man in der HoloLens einen Welt Anker in den Raum.
Zunächst setzt man in der HoloLens einen Weltanker in den Raum.
Weltanker dienen als besonders wichtiger Punkte und das System soll diesen Punkt immer tracken und konstant halten.
Ein Weltanker dient als besonders wichtiger Punkt und das System soll diesen Punkt immer tracken und konstant halten.
Die Unreal Engine sendet jedem Frame einen JSON formatierten String per UDP an die Hololens in dem Start- und Enpunkt des aktullen Lasers enthalten sind.
Die Unreal Engine sendet jedem Frame einen JSON formatierten String per UDP an die Hololens in dem Start- und Enpunkt des aktullen Lasers enthalten sind.
Diese werden anschließen in der Hololens relativ zum Welt Anker visualisiert.
Diese werden anschließend in der Hololens relativ zum Welt Anker visualisiert.
\section{Kalibrierung}
\section{Kalibrierung}
Die Kalibrierung erfolgt anhand des Welt Ankers und eins Vive Trackers.
Die Kalibrierung erfolgt anhand des Weltankers und eines Vive Trackers.
Der Welt Anker orientiert sich an dem erkannten Boden sodass die y Achse senkrecht nach oben zeigt.
Der Weltanker orientiert sich an dem erkannten Boden, sodass die y Achse senkrecht nach oben zeigt.
Um die beiden Welten zu synchronisieren wird ein Vive Tracker so platziert, das die beiden Koordinatensysteme übereinstimmen (Siehe Abb. \ref{img:holokalib})
Um die beiden Welten zu synchronisieren wird ein Vive Tracker so platziert, das die beiden Koordinatensysteme übereinstimmen (Siehe Abb. \ref{img:holokalib})
Hierfür wurde an dem Tracker ein 3D gedruckte Hilfe angebraucht um die aktuelle Rotation besser erkennen zu können.
Hierfür wurde an dem Tracker ein 3D gedruckte Hilfe angebraucht um die aktuelle Rotation besser erkennen zu können.
Durch einen Tastenduck auf einen Controller wird d ie aktuelle Rotation und Position des Trackers in der Unreal Engine gespeichert.
Durch einen Tastenduck auf einen Controller wird d ie aktuelle Rotation und Position des Trackers in der Unreal Engine gespeichert.