Exemplo n.º 1
0
def luigiActions():
    yield viztask.waitTime(53)
    yield viztask.addAction(luigi, vizact.walkTo([-0, 0, 4]))
    yield viztask.addAction(luigi, vizact.walkTo([-1, 0, 3], turnInPlace=True))
    yield viztask.addAction(luigi, vizact.walkTo([0, 0, 2]))
    yield viztask.addAction(luigi, vizact.turn(0, 220))
    yield viztask.addAction(luigi, vizact.animation(4))
def moveBackwards( node, seat ):
	global seatQueue
	spin = vizact.turn(145)
	moveHead = vizact.headto(25,0,0, bone='Bip01 Head')
	move = vizact.moveTo(pos=seat,speed=0.75,interpolate=vizact.easeInOut)
	slide = vizact.animation(66)
	shuffle = vizact.parallel(spin,moveHead,move,slide)
	shuffleBack = vizact.sequence(shuffle)
	node.add(shuffleBack)
	yield viztask.waitActionEnd(node,shuffleBack)
	node.setPosition(seat)
Exemplo n.º 3
0
def go():
  man.state(162)
  woman.state(35) # doesn't work
  yield viztask.addAction(woman, vizact.walkTo([1.35,0,-1.35]))
  yield viztask.addAction(man, vizact.animation(11))
  yield viztask.addAction(woman, vizact.turn(-145))
  # woman.state(86)
  # woman.state(142)
  man.state(7)
  while True:
    # goes to a weird animatin in-between
    yield viztask.addAction(woman, vizact.animation(143))
    yield viztask.addAction(woman, vizact.animation(144))
def moveBackToFirstSeat( node, seatQueue ):
	yield viztask.waitTime(1)
	spin = vizact.turn(145)
	moveHead = vizact.headto(25,0,0, bone='Bip01 Head')
	moveFirst = vizact.moveTo(pos=seatQueue[2],speed=0.75,interpolate=vizact.easeInOut)
	moveSecond = vizact.moveTo(pos=seatQueue[1],speed=0.75,interpolate=vizact.easeInOut)
	moveThird = vizact.moveTo(pos=seatQueue[0],speed=0.75,interpolate=vizact.easeInOut)
	slide = vizact.animation(66)
	slideBackOnce = vizact.parallel(spin,moveHead,moveFirst,slide)
	slideBackTwice = vizact.parallel(spin,moveHead,moveSecond,slide)
	slideBackThrice = vizact.parallel(spin,moveHead,moveThird,slide)
	shuffleToFirst = vizact.sequence(slideBackOnce,slideBackTwice,slideBackThrice)
	node.add(shuffleToFirst)
	yield viztask.waitActionEnd(node,shuffleToFirst)
	node.setPosition(seatQueue[0])
Exemplo n.º 5
0
def walkAndAnimate():
    while True:

        # yield waits until a task is finished before progressing to the next one
        # walks to the left side of the user, by the bench
        yield viztask.addAction(manuel,
                                vizact.walkTo([2.4, 0, 2.57996], walkSpeed=2))
        yield viztask.addAction(manuel, vizact.turn(-45, 220))

        # change the position and rotation of the linked guitar
        link.setOffset([-0.5, 0.05, -0])
        link.setEuler([-45, 0, 70])

        # pauses animations for 13 seconds so the guitar playing animation is in sync with audio
        yield viztask.waitTime(13)

        # locking of bones and setting their positions/rotations so left arm of 'manuel' will 'play' the guitar
        upperarm = manuel.getbone('Bip01 L UpperArm')
        upperarm.lock()
        upperarm.setEuler(0, 0, 0)

        forearm = manuel.getBone('Bip01 L Forearm')
        forearm.lock()
        forearm.setEuler(0, 0, -120)

        hand = manuel.getBone('Bip01 L Hand')
        hand.lock()
        hand.setEuler(0, 180, 45)

        #luigi.addAction(vizact.animation(4,speed =1))
        for num in range(0, 11):
            yield viztask.addAction(manuel, vizact.animation(4))

        #unlocks bones
        upperarm.unlock()
        forearm.unlock()
        hand.unlock()

        # kill task when done
        animationTask.kill()
avatarMove = [[-5.7,-5.2,300],[-5.7,6.5,270],[0,8,0],[5.7,6.5,70],[5.7,2.6,70],[5.7,1,130]]
actions = []
RandomWait = vizact.waittime(vizact.randfloat(0,0))

for loc in avatarMove:
	
	if loc == avatarMove[2]:
		RandomWait = vizact.waittime(vizact.randfloat(5,10))
	else:
		RandomWait = vizact.waittime(vizact.randfloat(0,0))
	
	actions.append(vizact.method.playsound('footsteps.wav',viz.LOOP))
	actions.append(vizact.walkTo([loc[0],0,loc[1]],turnSpeed=250.0))
	actions.append(vizact.method.playsound('footsteps.wav',viz.STOP))
	
	actions.append(vizact.turn(loc[2],250.0))
	actions.append(RandomWait)
avatar.addAction(vizact.sequence(actions,viz.FOREVER))

avatar = viz.addAvatar('vcc_male.cfg',pos=[-5.7,-5.2,0.1])
avatar.state(1)


#Create static drop shadow to avatar
shadow_texture = viz.addTexture('shadow.png')
shadow = vizshape.addQuad(parent=avatar,axis=vizshape.AXIS_Y)
shadow.texture(shadow_texture)
shadow.zoffset()
avatarMove = [[5.7,-6.2,300],[5.7,6.5,270],[0,7,0],[-5.7,6.5,70],[-5.7,2.6,70],[-5.7,0,130]]
actions = []
RandomWait = vizact.waittime(vizact.randfloat(0,0))
Exemplo n.º 7
0
              [5.7, 2.6, 70], [5.7, 1, 130]]
actions = []
RandomWait = vizact.waittime(vizact.randfloat(0, 0))

for loc in avatarMove:

    if loc == avatarMove[2]:
        RandomWait = vizact.waittime(vizact.randfloat(5, 10))
    else:
        RandomWait = vizact.waittime(vizact.randfloat(0, 0))

    actions.append(vizact.method.playsound('footsteps.wav', viz.LOOP))
    actions.append(vizact.walkTo([loc[0], 0, loc[1]], turnSpeed=250.0))
    actions.append(vizact.method.playsound('footsteps.wav', viz.STOP))

    actions.append(vizact.turn(loc[2], 250.0))
    actions.append(RandomWait)
avatar.addAction(vizact.sequence(actions, viz.FOREVER))

avatar = viz.addAvatar('vcc_male.cfg', pos=[-5.7, -5.2, 0.1])
avatar.state(1)

#Create static drop shadow to avatar
shadow_texture = viz.addTexture('shadow.png')
shadow = vizshape.addQuad(parent=avatar, axis=vizshape.AXIS_Y)
shadow.texture(shadow_texture)
shadow.zoffset()
avatarMove = [[5.7, -6.2, 300], [5.7, 6.5, 270], [0, 7, 0], [-5.7, 6.5, 70],
              [-5.7, 2.6, 70], [-5.7, 0, 130]]
actions = []
RandomWait = vizact.waittime(vizact.randfloat(0, 0))
Exemplo n.º 8
0
#pigeonSensor = vizproximity.Sensor(vizproximity.Sphere(5, center=PIGEON_POSITION), source=pigeon)
pigeonSensor = vizproximity.Sensor(vizproximity.Box([1.5,3,1.5]),source=pigeon)
target = vizproximity.Target(male)

manager = vizproximity.Manager()
manager.addSensor(pigeonSensor)
manager.addTarget(target)

def pigeonRun(e):
	runAction = vizact.walkTo([vizact.randfloat(2,4), 0, vizact.randfloat(3, 6)], 4)
	pigeon.runAction(runAction)
	pigeon.addAction(pigeon_idle)

walkToFaceFemale = vizact.walkTo([5,0,9], walkSpeed=4)
walk = vizact.walkTo([6.5,0,8.5], walkSpeed=3)
turn = vizact.turn(-90, 400)
walkNextToFemale = vizact.sequence(walk, turn)

def walkToFemale():
	yield viztask.addAction(male, walkToFaceFemale)
	female.state(29)
	male.lookAt(FEMALE_POSITION)
	male.runAction(vizact.animation(35))
	yield viztask.waitTime(4)
	yield viztask.runAction(male, walkNextToFemale)
	female.state(3)
	male.runAction(vizact.animation(3))

def startWalking():
	global startedWalking
	if (startedWalking):
Exemplo n.º 9
0
guitar = viz.addChild('resources/guitar.osgb')

# load the avatars and set starting position
manuel = viz.addAvatar('vcc_male.cfg')
manuel.setPosition(-0.3, 0, -2.82)

luigi = viz.addChild('vcc_male2.cfg')
luigi.setPosition([-2, 0, 6])

# link the guitar to the back model
back = manuel.getBone('Bip01 Neck')
link = viz.link(back, guitar)

# manuel walking in, closing the door, and 'talking' to the user
manuel.addAction(vizact.walkTo([-0.48, 0, -1.15234], walkSpeed=2.0))
manuel.addAction(vizact.turn(160, 220))
manuel.addAction(vizact.animation(15, speed=2.2))
manuel.addAction(vizact.turn(0, 220))
manuel.addAction(vizact.walkTo([-0.5, 0.0, 2], walkSpeed=1.2))
manuel.addAction(vizact.turn(30, 220))
manuel.addAction(vizact.animation(14, speed=2))
manuel.addAction(vizact.animation(14, speed=2))
manuel.addAction(vizact.turn(0, 220))
manuel.addAction(vizact.walkTo([-2, -0.00000, 6.02116], walkSpeed=2))
manuel.addAction(vizact.animation(3, speed=0.7))
manuel.addAction(vizact.turn(160, 220))
manuel.addAction(vizact.walkTo([-0.5, 0.0, 2], walkSpeed=2))


# handling actions of luigi
def luigiActions():