I'm currently working on a projet in which we combine a Hololens 1 and the Optitrack Trio bar.
I'm not an expert in 3D so my questions may be trivials but at the moment, i can't find a proper solution so i'm posting here in case someone has already encountered the same issue and has already found a solution.
I saw there are plugins to detect some Head Mounted Displays using Optitrack and find their position in Unity but i couldn't find one for the Hololens.
Is this plugin already developped?
Anyway, here is my problem:
The trackbar gives me a 3D base in which objects can be detected (in my case, the Hololens and other objects like a smartphone, physical cubes, etc.). I augmented these objects (including the Hololens) with IR markers and registered them as rigid bodies in Motive (i didn't change the pivot point orientation or position, i juste registered them as rigid bodies).
As UWP apps can't receive the data client stream, i used the motive api and developped a small app getting the position and orientation of detected rigid bodies and sending them on a socket connected to my Hololens.
When i'm starting my app on the Hololens, the unity 3D base is initialized : (0, 0, 0) is at the hololens position and yaw/roll depends on my initial orientation (pitch is not included as the Hololens Up vector depends on gravity, not on initial rotation).
The Optitrack 3d base is right-handed and unity is left-handed.
My goal is to find the position and orientation of the objects detected by Optitrack in Unity.
Something like that:
Inputs : x, y, z, yaw, pitch, roll in Optitrack coordinate system
Some magic calculations
Outputs: x', y', z', yaw', pitch', roll' all in my Unity coordinate system.
Is there an easy way to achieve that?
Do i need a specitic object that i can detect in both spaces to make the transition? If so, how to find the transition from one 3D base to the other based on this object?
Thanks in advance for your answers.
2 posts • Page 1 of 1