Je développe actuellement un environnement VR pour une grande plate-forme de simulateur de mouvement (physiquement) existante. L'utilisateur peut s'asseoir sur cette plate-forme de mouvement et est accéléré et incliné pour induire la sensation de mouvement dans un environnement de simulateur de voiture de recherche. Le tracker positionnel Oculus Rift est déjà monté sur la plateforme mobile devant l'utilisateur, comme vous le feriez sur votre PC.
Le moteur 3D que j'utilise actuellement est Unity 5.3. Les angles de rotation et les accélérations linéaires de la plateforme sont déjà introduits dans Unity. Les résultats ne sont cependant pas ceux que je visais. Bien que la compensation de rotation fonctionne bien tant que nous inclinons la plate-forme, une fois que la vitesse angulaire est nulle, le tracker est réinitialisé sans être appelé par moi ni déclencher un événement qu'il a fait. La compensation d'accélération linéaire vacille toujours autour du vrai point de repos.
J'ai déjà essayé d'utiliser l'implémentation Unity VR native et également le plugin Oculus. Cependant, la fusion des capteurs n'est pas disponible à ce niveau. Les forums Oculus ont de nombreux sujets sur ce problème, mais je n'ai trouvé aucune solution.
Existe-t-il des alternatives que l'on pourrait essayer pour utiliser l'Oculus sur une plateforme mobile?
Idéalement, ce que je voudrais faire, c'est de soustraire le mouvement induit des données du capteur Oculus avant de poursuivre le traitement. J'ai déjà envisagé d'appliquer des correctifs, par exemple LibOVR, mais je n'ai pas trouvé non plus de fonctions utiles liées à la fusion des capteurs.