Derzeit entwickle ich eine VR-Umgebung für eine vorhandene (physikalisch) große Bewegungssimulatorplattform. Der Benutzer kann auf dieser Bewegungsplattform sitzen und wird beschleunigt und geneigt, um das Gefühl von Bewegung in einer Forschungsautosimulatorumgebung hervorzurufen. Der Oculus Rift Positional Tracker ist bereits vor dem Benutzer auf der sich bewegenden Plattform montiert, genau wie Sie es auf Ihrem PC tun würden.
Die 3D-Engine, die ich derzeit verwende, ist Unity 5.3. Die Drehwinkel und Linearbeschleunigungen der Plattform sind bereits in Unity eingespeist. Die Ergebnisse sind jedoch nicht das, was ich angestrebt habe. Während die Rotationskompensation gut funktioniert, solange wir die Plattform neigen, wird der Tracker zurückgesetzt, sobald die Winkelgeschwindigkeit auf Null geht, ohne von mir aufgerufen zu werden oder ein Ereignis auszulösen, das dies getan hat. Die Linearbeschleunigungskompensation zittert immer um den tatsächlichen Ruhepunkt.
Ich habe bereits versucht, die native Unity VR-Implementierung und das Oculus-Plugin zu verwenden. Die Sensorfusion ist auf dieser Ebene jedoch nicht verfügbar. In den Oculus Foren gibt es viele Themen zu diesem Problem, aber ich konnte keine Lösung finden.
Gibt es Alternativen, die man versuchen könnte, um die Oculus auf einer sich bewegenden Plattform zu verwenden?
Was ich idealerweise tun möchte, ist, die induzierte Bewegung von den Oculus Sensordaten zu subtrahieren, bevor sie weiter verarbeitet wird. Ich habe bereits überlegt, zB LibOVR zu patchen, aber ich konnte dort auch keine hilfreichen Funktionen für die Sensorfusion finden.
Antworten:
Ich kann keine definitive Antwort geben, aber mein Vorschlag ist, dass Sie mit Headsets verschiedener Hersteller (Microsoft Mixed Reality, VIVE und möglicherweise auf Mobiltelefonen basierende) experimentieren und prüfen, ob das Rücksetzproblem auch bei ihnen auftritt. Mein Verdacht ist, dass das Reset-Problem Oculus-spezifisch ist und keine Eigenschaft von VR-Systemen im Allgemeinen ist.
Ein Beispiel für ein erfolgreiches Projekt, das ähnlich ist, finden Sie in dem Artikel CarVR: Aktivieren von Virtual Reality Entertainment im Auto . Es geht um die Verwendung von VR in einem fahrenden Auto.
So wie Sie es getan haben, haben sie eine IMU in die Plattform (das Auto) eingefügt und diese Daten vom Rendering in Unity subtrahiert. Anscheinend waren sie erfolgreich in ihren Tests und erwähnen kein Zurücksetzen oder andere Probleme. In ihrer Forschung verwendeten sie speziell Samsung GearVR mit einem Samsung Galaxy S6 Edge als VR-Gerät.
Ein anderer Ansatz wäre die Verwendung eines VR-Systems, das sich zur Bestimmung der Ausrichtung auf Kameras stützt. Theoretisch könnte ein Nur-Kamera-System alle Kopfbewegungen und -ausrichtungen vollständig verwalten, wenn es ausreichend leistungsstark ist. Die Mixed Reality-Headsets von Microsoft tun dies in gewissem Maße. Auf dieser Microsoft-Seite zum Tracking finden Sie Hintergrundinformationen. Das heißt, ich glaube, dass das Microsoft-System eine Mischung aus Kameraführung mit integrierten Sensoren für einen hybriden Ansatz ist.
quelle