PDA

View Full Version : meaning of code


yak
07-11-2009, 12:27 PM
Hi i was wondering what this code means

import viz

viz.go()

wheelbarrow = viz.add('vcc_male.cfg')
wheelbarrow.translate(0,1,3)

wheelbarrow.state(2)
wheelbarrow.rotate(0,3,0, -90)
viz.clearcolor(0.5,0.5,1)



def myslider(obj, pos):
wheelbarrow.runAction( vizact.spin(0,-1,0,500*pos) )


viz.callback(viz.SLIDER_EVENT,myslider)


I keep getting my male model to spin while walking. What I am trying to accomplish is that the slider controls my models walk. so if i slide my slider to teh end, my male model has completed one cycle of walking...If i slide it back he is being reversed(kind of like a fastforward and rewind )....I dont know if that made any sense.

farshizzo
07-13-2009, 09:59 AM
That code is adding a spin action to the object when the slider is moved. If you want to move through an avatar animation using the slider, the following code should help:import viz
viz.go()

#Initialize avatar
male = viz.add('vcc_male.cfg')
male.setPosition(0,0,5)
male.setEuler(180,0,0)

ANIM = 6
DUR = male.getDuration(ANIM)

#Start animation
male.execute(ANIM)
male.setAnimationSpeed(ANIM,0) #Speed must be set after animation is executed

#Use slider to modify animation time
slider = viz.addSlider(pos=(0.5,0.1,0))
def myslider(pos):
male.setAnimationTime(ANIM,pos*DUR-0.01)
vizact.onslider(slider,myslider)

yak
07-13-2009, 01:59 PM
That code is adding a spin action to the object when the slider is moved. If you want to move through an avatar animation using the slider, the following code should help:import viz
viz.go()

#Initialize avatar
male = viz.add('vcc_male.cfg')
male.setPosition(0,0,5)
male.setEuler(180,0,0)

ANIM = 6
DUR = male.getDuration(ANIM)

#Start animation
male.execute(ANIM)
male.setAnimationSpeed(ANIM,0) #Speed must be set after animation is executed

#Use slider to modify animation time
slider = viz.addSlider(pos=(0.5,0.1,0))
def myslider(pos):
male.setAnimationTime(ANIM,pos*DUR-0.01)
vizact.onslider(slider,myslider)

thanks you your teh man!

yak
07-15-2009, 01:18 PM
That code is adding a spin action to the object when the slider is moved. If you want to move through an avatar animation using the slider, the following code should help:import viz
viz.go()

#Initialize avatar
male = viz.add('vcc_male.cfg')
male.setPosition(0,0,5)
male.setEuler(180,0,0)

ANIM = 6
DUR = male.getDuration(ANIM)

#Start animation
male.execute(ANIM)
male.setAnimationSpeed(ANIM,0) #Speed must be set after animation is executed

#Use slider to modify animation time
slider = viz.addSlider(pos=(0.5,0.1,0))
def myslider(pos):
male.setAnimationTime(ANIM,pos*DUR-0.01)
vizact.onslider(slider,myslider)

What if I want to make multiple sliders that control different actions such as walking or jumpin, what should I add in the code?