hi,
I would like to generate a random walk actions for the avatar in the piazza environment. I want the avatar to walk around the environment by itself (without pressing any key) and to perform some actions when it sees a red sphere.
I have tried to write some code, but the avatar is moving around an oval. I am really stuck .. I don't know how to do it.
this is the code:
Code:
import viz
import viztask
import vizact
viz.go()
viz.add('ground.osgb')
avatar = viz.addAvatar('vcc_male2.cfg',pos=[0,0,9])
avatar.state(1)
walkLeft = vizact.walkTo([2.5,0,9])
walkRight = vizact.walkTo([-2.5,0,9])
walkActions = viz.cycle([walkLeft,walkRight])
waitSpaceBar = viztask.waitKeyDown(' ')
waitLeft = viztask.waitActionEnd(avatar,walkLeft)
waitRight = viztask.waitActionEnd(avatar,walkRight)
waitActions = viz.cycle([waitLeft,waitRight])
def walkAndStopTask():
yield waitSpaceBar
while True:
condition = waitSpaceBar
walkAction = walkActions.next()
waitAction = waitActions.next()
while condition == waitSpaceBar:
avatar.runAction(walkAction)
d = yield viztask.waitAny([waitSpaceBar,waitAction])
condition = d.condition
if condition == waitSpaceBar:
avatar.clearActions()
yield waitSpaceBar
viztask.schedule(walkAndStopTask())
your support is highly appreciated