View Full Version : How can I link MainView with HMD and a 3d node?
Salvar
03-19-2011, 01:07 PM
Hi all,
I've hit a technical snag in the research project I'm currently working on.
I have a virtual environment, containing a 3d node (car). The car is controlled by a custom action class I wrote for it.
To keep the viewpoint in tandem with the car, I have viz.MainView linked with the car. Everything works well and good. I move the car, mainview moves with it.
Now, I want to add HMD head-tracking into the mix. And that seems to be tricky. If I link the mainview with the HMD tracker after linking to the car, the car link breaks and it doesn't move with the car anymore. And vice versa.
How can I get these two things to work together?
farshizzo
03-21-2011, 09:23 AM
Is the tracker on the HMD 6DOF or 3DOF orientation? Either way, to integrate HMD tracking you should just need to use the <link>.preMultLinkable command. After you have setup the link between the car and the viewpoint, just add the following code:view_link.preMultLinkable(tracker)
The HMD tracker data should now be applied relative to the car orientation.
Salvar
03-22-2011, 12:13 PM
Is the tracker on the HMD 6DOF or 3DOF orientation? Either way, to integrate HMD tracking you should just need to use the <link>.preMultLinkable command. After you have setup the link between the car and the viewpoint, just add the following code:view_link.preMultLinkable(tracker)
The HMD tracker data should now be applied relative to the car orientation.
Thanks for the response.
I was hoping for the solution to be something simple as this, but it gives me an error saying that the tracker object (added with the command "polhemus = viz.add('polhemus.dle')") is not a linkable.
Is there any way to make it linkable?
farshizzo
03-22-2011, 12:20 PM
That is because the polhemus object is not linkable, it is an extension. Have a look at the documentation for the polhemus plugin on how to connect to a polhemus tracker. You never mentioned which tracker you are using, but the documentation page should describe how to connect to all supported polhemus trackers.
Salvar
03-22-2011, 12:31 PM
Oh, wait. I was trying to link to the extension, not the liberty tracker itself. Awkward.
I don't have access to the tracker to test this now, but it runs without the linking error now. Here's hoping.
Thanks for the help.
Salvar
03-22-2011, 08:14 PM
Just to close this thread, I tried the preMultLinkable call you suggested and it worked perfectly. I had to apply a preEuler command to the link first, but after that it was gravy.
Thanks!
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.