WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Virtual "stepsize" with PPT (https://forum.worldviz.com/showthread.php?t=4903)

VirtuallyInsane 12-28-2013 05:29 AM

Virtual "stepsize" with PPT
 
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 .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:
Code:

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).
Code:

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


All times are GMT -7. The time now is 08:46 AM.

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