PDA

View Full Version : Walking Down the Stairs


hsc
08-07-2016, 08:13 PM
Hi all,

I've been trying to create a falling from stairs scenario, but the my functions doesn't work as expected. The relevant code is below. Once the fall function is activated the main view moves forward and down repeatedly (bumping), but instead of going down the stairs, it's stuck in the original position. The "if" loop isn't working either.
Now I'm stuck with it and have no idea how to modify the code. Please help me if you see what the problems are. Thank you.



#Bumping
def bump():
i=1
while (i<10):
position = viz.MainView.getPosition()
position[1]+= -.5
action1 = vizact.goto(position,0.1,viz.TIME)
yield viz.MainView.addAction(action1)

position = viz.MainView.getPosition()
position[0]+= .5
action2 = vizact.goto(position,0.1,viz.TIME)
yield viz.MainView.addAction(action2)

i+=1

#Spinning
def spin(e):
euler = viz.MainView.get(viz.HEAD_EULER)
euler[0] += e.dx*3
euler[1] += -e.dy*3
euler[0] = viz.clamp(euler[0],10.0,190.0)
euler[1] = viz.clamp(euler[1],-60.0,60.0)
viz.MainView.setEuler(euler,viz.HEAD_ORI)

#Fall
def fall():
position2 = viz.MainView.getPosition()
orientation2 = viz.MainView.getEuler()
if 2.1< position2[1] <5.5:
viz.MainView.collision(viz.OFF)
viz.callback(viz.MOUSE_MOVE_EVENT,spin)
viztask.schedule(bump())
vizact.ontimer(0,fall)

Jeff
08-09-2016, 05:59 AM
Take a look at the viewpoint collision and gravity (http://docs.worldviz.com/vizard/#Viewpoint_collision_and_gravity.htm) commands. Does that work for you?

hsc
08-09-2016, 08:15 PM
Hi Jeff, I set my collision and gravity as follows:

The MainView still doesn't go down the stairs instead just 'bumps" at one location only. I tried to change the gravity and turn off collision but still the same

#
viz.MainView.collision(viz.ON)
viz.MainView.stepsize(0.6)
viz.MainView.gravity(20)
#

Jeff
08-12-2016, 01:40 AM
Can you post (http://forum.worldviz.com/faq.php?faq=vb3_reading_posting#faq_faq_vizard_cod e) a working example that reproduces the issue?