PDA

View Full Version : Virtual "stepsize" with PPT


VirtuallyInsane
12-28-2013, 05:29 AM
Hello everyone,

I was just wondering whether one can set the stepsize in the virtual world with position tracking. Say a person walks one meter in the real world, you could set the step size to two meters in the virtual world (we got restrictions from the size of our lab :) ).

We couldn't make this work with viz.MainView.stepsize or the viz.phys.setStepSize functions, which seem to do something different that I don't quite understand and we couldn't find any other way.

Can one implement such a thing in the vizard program or via the ppt studio?

Thanks a lot and seasons greetings!

Frank Verberne
01-02-2014, 04:47 AM
Hi VirtuallyInsane,

Stepsize is not the thing you're looking for, it determines the maximum height difference allowed when moving through a world. Meaning that if you would like to climb a virtual set of stairs with steps that are higher than the stepsize of Vizard, you would be unable to climb those stairs.

What you're looking for is <link>.preScale. First you have to link your sensor with the mainview of Vizard. Then, you need to preScale the link, so that 1 meter in a certain direction in your lab becomes 2 meters in Vizard. See the code below:
import viz

viz.go()

#Add your sensor to track the position.
sensor = viz.add('sensor.dle')
#Link the mainview to this sensor.
viewLink = viz.link(sensor, viz.MainView)
#Use preScale to scale the x,y,z of the sensor to apply to the MainView
viewLink.preScale(1,2,1)
In this code, the Y-value of the sensor is multiplied by two, before being applied to the MainView.

Another way of moving 2 meters in the virtual world, when moving 1 meter in the lab is to scale the virtual world. In the code below, the virtual piazza is scaled to half its original size, so if in the original piazza 1 lab meter equaled 1 virtual meter, now 1 lab meter equals 2 virtual meters (in every direction).
import viz

viz.go()

world = viz.add('piazza.osgb')
world.setScale(.5,.5,.5)

VirtuallyInsane
01-04-2014, 05:31 AM
Hello Mr Verberne!

thank you very much for your ingenious code and idea! This will work perfectly for our project!

Best regards

Alvin