View Single Post
  #1  
Old 01-04-2011, 06:49 AM
sleiN13 sleiN13 is offline
Member
 
Join Date: Dec 2008
Posts: 83
Link MainView to instable platform

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.
Attached Files
File Type: zip test.zip (34.0 KB, 1665 views)
Reply With Quote