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.