|
|
<h1>Dokumentation für WMW</h1>
|
|
|
<h1>Documentation for WMW</h1>
|
|
|
|
|
|
<h2>Worum geht es in dieser User Story?</h2>
|
|
|
In unsere Userstory haben wir uns mit der integration der Airsim Simulation mit der Hololens beschäftigt.
|
|
|
<h2>What is this user story about</h2>?
|
|
|
In our user story, we looked at the integration of the Airsim simulation with the Hololens.
|
|
|
|
|
|
<h2>Welchen Stand hat das Projekt?</h2>
|
|
|
Wir sind soweit gekommen, dass wir die Simulation anzeigen lassen können, Raumanker setzen können und mit objekten interargieren können. Weiterhin lassen wir die Simulation auf einem Computer laufen und Streamen diese auf die Hololens.
|
|
|
<h2>What stage has the project reached?</h2>
|
|
|
We have come so far that we can display the simulation, set room anchors and interact with objects. We also run the simulation on a computer and stream it to the Hololens.
|
|
|
|
|
|
<h2>Beschreibung der Arbeit im Semester</h2>
|
|
|
Die Arbeit innerhalb des Semesters hat sich vorallem auf die Unreal engine und die erzeugung von Blueprints beschäftigt.
|
|
|
<h2>Description of the work in the semester</h2>
|
|
|
The work during the semester was mainly focused on the Unreal engine and the creation of blueprints.
|
|
|
|
|
|
<h2>Kurze Einführung in das Projekt</h2>
|
|
|
Innerhalb des Projektes werdet ihr euch vorallem mit Mixed Reality beschäftigen. Diese Arbeit umfasst dabei wie ihr Objekte, welche in der Simulation auf dem Computer gerendert werden, im Raum darstellen und manipulieren könnt. Wichtig dabei ist allerdings, dass fast ausschließlich auf der Unreal engine gearbeitet wird und ihr euch dementsprechend größtenteils mit "Spieleentwicklung" bzw. mit der Logik dieser auseinandersetzt.
|
|
|
<h2>Short introduction to the project</h2>
|
|
|
Within the project you will mainly deal with mixed reality. This work includes how you can display and manipulate objects that are rendered in the simulation on the computer in space. However, it is important to note that you will be working almost exclusively on the Unreal engine and will therefore mainly be dealing with “game development” and its logic.
|
|
|
|
|
|
<h2>Allgemeine Doku</h2>
|
|
|
Generelles Setup:
|
|
|
<h2>General documentation</h2>
|
|
|
General setup:
|
|
|
|
|
|
- Für eine generelle Einführung in die fähigkeiten der Hololens empfielt sich folgender Link:
|
|
|
- For a general introduction to the capabilities of the Hololens, we recommend the following link:
|
|
|
https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unreal/unreal-hand-tracking?tabs=426
|
|
|
|
|
|
- Auf dem Laptop wird Unreal engine, bzw. Airsim gestartet
|
|
|
- Unreal engine or Airsim is started on the laptop
|
|
|
|
|
|
- Mithilfe des Microsoft Open XR Plugins wird die Simulation auf die Hololens gestreamt
|
|
|
- The simulation is streamed to the Hololens using the Microsoft Open XR plugin
|
|
|
|
|
|
- Auf der Hololens wird die App: holographic remoting gestartet
|
|
|
- The app: holographic remoting is started on the Hololens
|
|
|
|
|
|
- Wird im unreal editor nun auf Play gedrückt, sollten inhalte auf die Hololens übertragen werden
|
|
|
- If you now press Play in the unreal editor, content should be transferred to the Hololens
|
|
|
|
|
|
- Um ein neues Projekt zu erstellen Empfielt sich folgender Quickstart:
|
|
|
- To create a new project, we recommend the following quick start:
|
|
|
https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unreal/unreal-quickstart
|
|
|
|
|
|
Tutorial für Holographic Remoting:
|
|
|
Tutorial for holographic remoting:
|
|
|
https://dev.epicgames.com/documentation/en-us/unreal-engine/hololens-streaming-quick-start?application_version=4.27
|
|
|
|
|
|
Anstatt wie im Tutorial das Windows Mixed Reality Plugin zu installieren empfiehlt sich Microsoft OpenXR zu verwenden. Zu finden unter folgendem Link:
|
|
|
Instead of installing the Windows Mixed Reality plugin as in the tutorial, we recommend using Microsoft OpenXR. You can find it under the following link:
|
|
|
https://github.com/microsoft/Microsoft-OpenXR-Unreal/tree/main/MsftOpenXRGame
|
|
|
|
|
|
Sollen die Objekte in der Unreal engine runterskaliert werden, um zum Beispiel in den vorhandenen Raum zu passen, kann es zu falsch angezeigten Kollisions-Meshes kommen. In unserem Projekt war dies beim kleiner skalieren des Autos der fall. Dies kann behoben werden indem die verlinkten meshes extra skaliert werden. Nach dem skalieren schwebte das Auto über dem Boden, weil die Reifen extra in höhe und breite verändert werden müssen.
|
|
|
If the objects are to be scaled down in the Unreal engine, for example to fit into the existing space, this can lead to incorrectly displayed collision meshes. In our project, this was the case when the car was scaled down. This can be fixed by scaling the linked meshes separately. After scaling, the car floated above the ground because the height and width of the tires had to be changed.
|
|
|
|
|
|
Lokale Raumanker können in unserem Projekt durch "Right select" gesetzt werden und werden automatisch nach dem Neustart wieder neugeladen. Mit "Left select" können alle gesetzen Raumanker wieder entfernt werden.
|
|
|
Local room anchors can be set in our project using “Right select” and are automatically reloaded after a restart. All set room anchors can be removed again with “Left select”.
|
|
|
|
|
|
In unserem Projekt ist auch die Spatial perception aktiviert. Das bedeutet, dass die Hololens permanent die Umgebung scannt und daraus ein Unreal engine Mesh baut. Wie dieses verwendet wird kann in der ARSessionConfig eingestellt werden. Ein Bug bzw. zukünftiges Feature, was sich daraus ergibt, ist das dieses Mesh dafür sorgt das nicht mit Objekten interagiert werden kann, welche sich "außerhalb" des Raumes befinden.
|
|
|
Spatial perception is also activated in our project. This means that the Hololens permanently scans the environment and builds an Unreal engine mesh from it. How this is used can be set in the ARSessionConfig. A bug or future feature that results from this is that this mesh ensures that it is not possible to interact with objects that are “outside” the room.
|
|
|
|
|
|
Das Gespawnte Auto kann in unserem Projekt mit den Händen bewegt werden.
|
|
|
The spawned car can be manipulated with handinteractions in our project.
|
|
|
|
|
|
Die Logik für die Raumanker befindet sich innerhalb des Blueprints: MRPawn.
|
|
|
The logic for the room anchors is located within the blueprint: MRPawn.
|
|
|
|
|
|
Tutorial für Raumanker: https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unreal/unreal-spatial-anchors?tabs=426
|
|
|
Tutorial for room anchors: https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unreal/unreal-spatial-anchors?tabs=426
|
|
|
|
|
|
Die Logik für die Handvisualisierung befindet sich im Blueprint: MRGameMode.
|
|
|
The logic for the hand visualization is located in the blueprint: MRGameMode.
|
|
|
|
|
|
Tutorial für Handvisualisierung: https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unreal/unreal-hand-tracking?tabs=426
|
|
|
Tutorial for hand visualization: https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unreal/unreal-hand-tracking?tabs=426
|
|
|
|
|
|
<h2>Offene Aufgaben</h2>
|
|
|
<h2>Open tasks</h2>
|
|
|
|
|
|
- Bis jetzt werden für die Anker nur Platzhalter gesetzt, es könnte in Zukunft überprüft werden wie an diese Anker die Karte und das Auto angebunden werden können.
|
|
|
- So far, only placeholders have been set for the anchors; in the future, it could be checked how the map and the car can be connected to these anchors.
|
|
|
|
|
|
- Das Mesh, welches durch die Spatial Perception generiert wird könnte als Kollisions-Mesh erstellt werden, damit das auto nicht auf der Karte sondern auf dem Boden im Raum fährt |
|
|
\ No newline at end of file |
|
|
- The mesh generated by Spatial Perception could be created as a collision mesh so that the car does not drive on the map but on the ground in space |
|
|
\ No newline at end of file |