Attualmente sviluppo un ambiente VR per una piattaforma di simulatore di movimento esistente (fisicamente) di grandi dimensioni. L'utente può sedersi su questa piattaforma di movimento e viene accelerato e inclinato per indurre la sensazione di movimento in un ambiente di simulatore di auto di ricerca. Il tracker posizionale Oculus Rift è già montato sulla piattaforma mobile di fronte all'utente, proprio come faresti sul tuo PC.
Il motore 3D che attualmente uso è Unity 5.3. Gli angoli di rotazione e le accelerazioni lineari della piattaforma sono già inserite in Unity. I risultati non sono tuttavia ciò a cui mi ero prefissato. Mentre la compensazione rotazionale funziona bene fintanto che incliniamo la piattaforma, una volta che la velocità angolare va a zero, il tracker viene ripristinato senza essere chiamato da me o sparare un evento che lo ha fatto. La compensazione dell'accelerazione lineare oscilla sempre attorno al vero punto di riposo.
Ho già provato a utilizzare l'implementazione nativa di Unity VR e anche il plug-in Oculus. Tuttavia, la fusione del sensore non è disponibile a questo livello. I forum di Oculus hanno molti argomenti su questo problema, ma non sono riuscito a trovare soluzioni.
Esistono alternative che si potrebbero provare per utilizzare Oculus su una piattaforma mobile?
Ciò che vorrei fare idealmente è sottrarre il movimento indotto dai dati del sensore Oculus prima di essere ulteriormente elaborato. Ho già preso in considerazione l'applicazione di patch, ad esempio LibOVR, ma non sono riuscito a trovare alcuna utile funzione relativa alla fusione dei sensori.