WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Link MainView to instable platform (https://forum.worldviz.com/showthread.php?t=3289)

sleiN13 01-04-2011 06:49 AM

Link MainView to instable platform
 
1 Attachment(s)
I've got a moving platform that can raise, roll, pitch, turn and move forward. To this platform I want to link the MainView. Besides being linked to the platform the MainView also has to be linked to a joystick/keyboard controls and in the future a HMD 6-dov tracker.

I solved this problem by creating a function that is called every frame and that combines a fixed point on the platform (VizGroup) with a user (VizGroup) object. The user object is moved by the joystick/keyboard while the platform is moved by VizActions.

Code:

def setView(event):
       
        matLoc = plane.getMatrix(viz.ABS_GLOBAL)
        matUser = user.getMatrix()

        matFinal = vizmat.Transform()
        matFinal.preMult(matLoc)
        matFinal.preMult(matUser)

        viz.MainView.setMatrix(matFinal)

viz.callback(viz.UPDATE_EVENT, setView)

This all seems to work fine until you do a roll with the platform while it is moving forward. After +/- 30 seconds the image starts to shake, this continues while in a roll but disappears when the roll is set back to 0 again.

I've included a example script with a distilled version of my code. As soon as you initiate a roll (using the slider) the image will get shake very slightly but as soon as you move a small amount forward (w key) the shaking gets extreme. The shaking is always the most noticeable if you move close to objects on the platform.

My question is: How to link a controllable MainView to a instable platform that does not create a shaking image.

Jeff 01-08-2011 05:26 PM

Does it make any difference if you use the postMultLinkable operator instead of a group node?
Code:

link = viz.link(tracker,viz.MainView)
link.postMultLinkable(platform)

This should link the view to whatever tracker you use but keep it in the reference frame of the platform.

sleiN13 01-10-2011 12:33 AM

The result of using
Code:

link = viz.link(tracker,viz.MainView)
link.postMultLinkable(platform)

are the same. Still the image is shaking and getting worse over time.


All times are GMT -7. The time now is 07:37 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC