PDA

View Full Version : Offset position of link/attached object


MissingAFew
04-09-2015, 02:19 PM
How do you change the relative offset of an attached object when using viz.link? Is this possible? setPosition doesn't work and there doesn't seem to be a set relative position function. Also need the rotation as well.

Jeff
04-09-2015, 06:18 PM
You can apply a postTrans (http://docs.worldviz.com/vizard/#commands/link/postTrans.htm%3FTocPath%3DCommand%20Index%7CVizard %20objects%7Clink%7C_____23) or preTrans (http://docs.worldviz.com/vizard/#commands/link/preTrans.htm%3FTocPath%3DCommand%20Index%7CVizard% 20objects%7Clink%7C_____30) operation on the link.

MissingAFew
04-11-2015, 01:12 PM
You can apply a postTrans (http://docs.worldviz.com/vizard/#commands/link/postTrans.htm%3FTocPath%3DCommand%20Index%7CVizard %20objects%7Clink%7C_____23) or preTrans (http://docs.worldviz.com/vizard/#commands/link/preTrans.htm%3FTocPath%3DCommand%20Index%7CVizard% 20objects%7Clink%7C_____30) operation on the link.

Thanks, I already figured out what I needed to. However I am having a few issues implementing a FPS style control scheme where the change in mouse position rotates the player. Here's pastebin of relevant code:

http://pastebin.com/GDFTYf2d

This code is contained within my function UpdateView and gets updated with the following:

vizact.ontimer(0,UpdateView)

Now this code works, however, it is very jittery. It is not smooth at all. And if I only move the mouse a little bit, it wont cause the player to rotate. The way Im doing this feels very "hacky", but I'm not sure how else to do it. I haven't any example code for this kind of control scheme. Is there a better way to accomplish this? To me it seems like the UpdateView function is not being called every frame which is the cause of the jitteryness, but I am not entirely sure.

Jeff
04-13-2015, 05:15 PM
One of the built-in cameras from the vizcam library may set up the navigation style you would like:

import viz
viz.go()

import vizcam
vizcam.FlyNavigate(forward='w',backward='s',left=' a',right='d')
#vizcam.WalkNavigate()

viz.addChild('piazza.osgb')