Example #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))
Example #2
0
def walk():
	while (True) :
		yield viztask.addAction(cat,vizact.walkTo([2.8, 0, -3], walkSpeed = 1.5, turnSpeed = 1, walkAnim = 4))
		yield viztask.waitTime(1.5)
		yield look1()
		yield viztask.addAction(cat,vizact.walkTo([-2.8, 0, -3], walkSpeed = 1.5, turnSpeed = 1, walkAnim = 4))
		yield viztask.waitTime(1.5)
		yield look2()
Example #3
0
def TrialCountDownTask():
    """Task that count downs to time limit for trial"""
    global revealSelf
    global manChase

    # Action for text fading out
    text_fade = vizact.parallel(
        vizact.fadeTo(0,time=0.8,interpolate=vizact.easeOut)
        ,vizact.sizeTo([1.5,1.5,1.0],time=0.8,interpolate=vizact.easeOut)
    )

    # Reset time text
    time_text.clearActions()
    time_text.alpha(1.0)
    time_text.color(viz.WHITE)
    time_text.setScale([1,1,1])
    time_text.message(str(int(TRIAL_DURATION)))

    # Countdown from time limit
    start_time = viz.getFrameTime()
    last_remain = int(TRIAL_DURATION)
    male2.clearActions()
    male2.setPosition(2.5,0,7.5)

    while (viz.getFrameTime() - start_time) < TRIAL_DURATION:

        if revealSelf:
            pigeon.clearActions()
            pos = viz.MainView.getPosition()
            pigeon.addAction( vizact.walkTo([pos[0], 0, pos[2]]) )

        if manChase:
            male.clearActions()
            male2.state(2)
            pos = pigeon.getPosition()
            male2.addAction( vizact.walkTo([pos[0] - .5, 0, pos[2] - .5]))

        if male2.getPosition()[2] == (pigeon.getPosition()[2] - .5):
            #allow for other actions to take place (chase takes precedence)
            manChase = False
            male2.state(9)

        # Compute remaining whole seconds
        remain = int(math.ceil(TRIAL_DURATION - (viz.getFrameTime() - start_time)))

        # Update text if time remaining changed
        if remain != last_remain:
            if remain <= 5:
                time_text.alpha(1.0)
                time_text.color(viz.RED)
                time_text.setScale([1]*3)
                time_text.runAction(text_fade)
                viz.playSound('sounds/beep.wav')
            time_text.message(str(remain))
            last_remain = remain

        # Wait tenth of second
        yield viztask.waitTime(0.1)
def walking():
	yield viztask.waitKeyDown(' ')
	male.addAction(vizact.walkTo([1, 0, 0]))
	yield vizproximity.waitEnter(femaleSensor)
	female.state(3)
	yield viztask.waitTime(2)
	male.state(33)
	yield viztask.waitTime(3)
	male.addAction(vizact.walkTo([-4, 0, 0], walkAnim = 70, walkSpeed = 2))
	yield vizproximity.waitExit(femaleSensor)
	female.state(8)
Example #5
0
def myTask():
	while True:
		question_text.message('Hit the spacebar to begin.')
		yield viztask.waitKeyDown(' ')
		female.state(5)
		yield viztask.waitTime(1)
		yield viztask.addAction(male, vizact.walkTo([-1,-0,0]))
		male.state(5)
		yield mySubTask()
		male.state(9)
		yield viztask.addAction(female,vizact.animation(6))
		male.addAction( vizact.walkTo( [2,0,-1],2.5,90,11 ) )
def makeMove():
	walk_over = vizact.walkTo([-.5,0,-2.2])
	yield viztask.addAction( female, walk_over )
	female.state(1)
	wait = vizact.waittime(3)
	yield male.addAction(wait)
	react()
Example #7
0
def addPigeonToWorld(info):
	pigeon = vizfx.addAvatar(info.PIGEON_FILE, pos=info.startPosition)
	pigeon.setScale(3,3,3) # So that the pigeons are easier to see
	pigeon.state(info.state)
	if info.coordinates != None:
		action = vizact.sequence([vizact.walkTo(c, walkSpeed=info.speed, turnSpeed=info.turnSpeed, walkAnim=info.state, turnInPlace=True) for c in info.coordinates], viz.FOREVER)
		pigeon.runAction(action)
Example #8
0
def start():
   print('start!')
   print(time.time())
   text3D.message(' Start!')
   drop = vizact.walkTo([10,1.2,15])
   start = experimenter.addAction(drop)
   neck.lock()
   head.lock()
Example #9
0
def step():
	global prevStep
	prevStep = "UP"
	print prevStep
	walk = vizact.walkTo([male.getPosition()[0] + 1, 0,male.getPosition()[2]], walkSpeed = 1)
	male.runAction(walk)
#	viz.MainView.velocity(0,0,1)
	vizact.ontimer2(.9,0,setDown)
Example #10
0
File: Test.py Project: kevinsp/DvB
def pigeonsFeed():

    random_speed = vizact.method.setAnimationSpeed(0,vizact.randfloat(0.7,1.5))
    random_walk = vizact.walkTo(pos=[vizact.randfloat(-4,4),0,vizact.randfloat(3,7)])
    random_animation = vizact.method.state(vizact.choice([1,3],vizact.RANDOM))
    random_wait = vizact.waittime(vizact.randfloat(5.0,10.0))
    pigeon_idle = vizact.sequence( random_speed, random_walk, random_animation, random_wait, viz.FOREVER)

    for pigeon in pigeons:
        pigeon.addAction(pigeon_idle)
Example #11
0
	def update(self,elapsed,object):
		predatorPosition = self.predator.getPosition()
		position = object.getPosition()
		dx = position[0] - predatorPosition[0]
		dz = position[2] - predatorPosition[2]
		distance = math.sqrt(dx * dx + dz * dz)
		if (distance < 6 and distance > 0):
			destination = [position[0] + dx / distance * random.randint(0,10), position[1], position[2] + dz /distance * random.randint(0,10)]
			moveAction = vizact.walkTo(destination, 8)
			#pigeon.addAction(moveAction)
			pigeon_root.setPosition(destination)
Example #12
0
def step():
    global prevStep, lastX, lastZ
    prevStep = "UP"
    x, z = calcUnitVector()
    viz.MainView.velocity(lastX, 0, lastZ)
    lastX = x
    lastZ = z
    walk = vizact.walkTo([x + male.getPosition()[0], 0, z + male.getPosition()[2]], walkSpeed=1)
    viz.MainView.lookAt([male.getPosition()[0], 2, male.getPosition()[2]])
    male.runAction(walk)
    vizact.ontimer2(0.9, 0, setDown)
def moveAvatar() :
	global curAvatar
	
	a = random.choice(avatars)
	#so a different avatar is choosen each time
	while(a == curAvatar):
		a = random.choice(avatars)

	curAvatar = a
	walk = vizact.walkTo(random.choice(positions))
	a.runAction(walk)
Example #14
0
def moveAvatar():
    global curAvatar

    a = random.choice(avatars)
    #so a different avatar is choosen each time
    while (a == curAvatar):
        a = random.choice(avatars)

    curAvatar = a
    walk = vizact.walkTo(random.choice(positions))
    a.runAction(walk)
Example #15
0
def myTask():
    #As long as the task is running . . .
    while True:
        question_text.message( 'Hit the spacebar to begin.' )
        #Wait for a keypress.
        yield viztask.waitKeyDown( ' ' )
        #Animate the female.
        female.state( 5 )
        #Wait for a second.
        yield viztask.waitTime( 1 )
        #Make the male walk and wait for him to finish the action.
        yield viztask.addAction( male,  vizact.walkTo( [-1,0,0] ) )
        #Make the male dance.
        male.state( 5 )
        #Wait for a sub task to finish.
        yield mySubTask()
        #Give the male a new animation.
        male.state(9)
        #Give the female a new animation and wait for it to finish.
        yield viztask.addAction( female, vizact.animation(6) )
        #Make the male run.
        male.addAction( vizact.walkTo( [2,0,-1],2.5,90,11 ) )
Example #16
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))
Example #17
0
	def start_custom_walk(self):
		#self.avatar.lookat(self.next_point)
		walk = vizact.walkTo(self.next_point, self.next_speed*self.speedMultiplier, 270*self.speedMultiplier)
		yield viztask.addAction(self.avatar, walk)
		theq,index = self.check_quadrants()
		if(self.place_points < len(self.points)):		
			self.next_point = self.points[self.place_points][0]
			self.next_speed = self.points[self.place_points][1]
			self.save_path.addPoint(self.next_point, self.next_speed)
			self.place_points += 1
		elif theq != -1:
			self.myquadrants[index] = True
			self.next_point = theq.get_random_walk()
			self.next_speed = get_next_speed() #change tophat speed here
			self.save_path.addPoint(self.next_point, self.next_speed)
		if self.coll == 0:
			viztask.schedule(self.start_custom_walk())
Example #18
0
	def walk_around( self ):
		global quadrants
		#self.avatar.lookat(self.next_point)
		##if random.random() > 1:
			##walk = vizact.walkTo(self.next_point)
		##else:
		walk = vizact.walkTo(self.next_point, self.next_speed*self.speedMultiplier, 270*self.speedMultiplier) #change everyone else speed here
		
		# this makes the person walk to the next point
		yield viztask.addAction(self.avatar, walk)
		
		[theq,index] = self.check_quadrants()
		if theq != -1:
			self.next_point = theq.get_random_walk()
			self.next_speed = get_next_speed()
			self.save_path.addPoint(self.next_point, self.next_speed)
			
		# self.coll == 0 always for now
		if self.coll == 0:
			viztask.schedule(self.walk_around())
Example #19
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()
Example #20
0
def addPeople(mapManager):

    ### Add people with random route
    for i in range(0, 50):

        avatar = 'vcc_male.cfg'
        if ((int)(random.random() * 10)) % 2 == 0:
            avatar = 'vcc_female.cfg'

        person = vizfx.addAvatar(avatar)

        pos = [random.randint(20, 200), 2.5, random.randint(80, 120)]

        while mapManager.mapper.matrix[(
                int)(pos[0] * mapManager.mapper.squaresPerMeter -
                     mapManager.offsetX)][(
                         int)(pos[2] * mapManager.mapper.squaresPerMeter -
                              mapManager.offsetY)] == 1:
            pos = [random.randint(20, 200), 2.5, random.randint(80, 120)]

        person.setPosition(pos)

        actions = []
        actions.append(pos)

        for j in range(0, 2):

            nextPos = findNextGoal(pos, random.randint(10, 30), mapManager)

            if pos != nextPos:
                actions.append(vizact.walkTo(nextPos))

            pos = nextPos

        if len(actions) > 1:
            person_seq = vizact.sequence(actions, viz.FOREVER)
            person.runAction(person_seq)
        else:
            print("removed avatar")
            person.remove()

    return

    ### Information
    info1 = vizfx.addAvatar('vcc_male.cfg')
    info1.setPosition([3.62353, 2.55017, -64.36298])
    info1.setEuler([180, 0, 0])
    info1.state(1)

    info2 = vizfx.addAvatar('vcc_female.cfg')
    info2.setPosition([0.07517, 2.55017, -64.61992])
    info2.setEuler([180, 0, 0])
    info2.state(1)

    info3 = vizfx.addAvatar('vcc_male2.cfg')
    info3.setPosition([-2.45477, 2.55017, -64.54278])
    info3.setEuler([180, 0, 0])
    info3.state(1)
    ### Information

    ### Shops
    female1 = vizfx.addAvatar('vcc_female.cfg')
    female1.setPosition([-107.63577, 2.60017, -63.46337])
    female1.setEuler(-90, 0, 0)
    female1.state(1)

    male9 = vizfx.addAvatar('vcc_male2.cfg')
    male9.setPosition([-100.42088, 2.60017, -64.16325])
    male9.setEuler(90, 0, 0)
    male9.state(1)

    female2 = vizfx.addAvatar('vcc_female.cfg')
    female2.setPosition([-80.69553, 2.60017, -46.70128])
    female2.setEuler(-90, 0, 0)
    female2.state(1)

    male17 = vizfx.addAvatar('vcc_male.cfg')
    male17.setPosition([-73.44943, 2.60017, -45.32741])
    male17.setEuler(90, 0, 0)
    male17.state(1)

    female3 = vizfx.addAvatar('vcc_female.cfg')
    female3.setPosition([-53.71975, 2.60017, -45.82802])
    female3.setEuler(-90, 0, 0)
    female3.state(1)

    male18 = vizfx.addAvatar('vcc_male2.cfg')
    male18.setPosition([-46.34661, 2.60017, -46.12560])
    male18.setEuler(90, 0, 0)
    male18.state(1)

    female4 = vizfx.addAvatar('vcc_female.cfg')
    female4.setPosition([-15.02875, 2.60017, -45.91469])
    female4.setEuler(-90, 0, 0)
    female4.state(1)

    male19 = vizfx.addAvatar('vcc_male.cfg')
    male19.setPosition([-8.12945, 2.60017, -45.98362])
    male19.setEuler(90, 0, 0)
    male19.state(1)

    female5 = vizfx.addAvatar('vcc_female.cfg')
    female5.setPosition([15.97678, 2.60017, -46.24681])
    female5.setEuler(-90, 0, 0)
    female5.state(1)

    male20 = vizfx.addAvatar('vcc_male.cfg')
    male20.setPosition([22.90181, 2.60017, -46.19674])
    male20.setEuler(90, 0, 0)
    male20.state(1)

    male21 = vizfx.addAvatar('vcc_male2.cfg')
    male21.setPosition([52.47180, 2.60017, -46.11211])
    male21.setEuler(-90, 0, 0)
    male21.state(1)

    female6 = vizfx.addAvatar('vcc_female.cfg')
    female6.setPosition([59.88219, 2.60017, -46.48273])
    female6.setEuler(90, 0, 0)
    female6.state(1)

    female7 = vizfx.addAvatar('vcc_female.cfg')
    female7.setPosition([94.47379, 2.60017, -45.87137])
    female7.setEuler(-90, 0, 0)
    female7.state(1)

    female8 = vizfx.addAvatar('vcc_female.cfg')
    female8.setPosition([101.72762, 2.60017, -46.35223])
    female8.setEuler(90, 0, 0)
    female8.state(1)

    male21 = vizfx.addAvatar('vcc_male.cfg')
    male21.setPosition([-58.85641, 2.60000, -11.10135])
    male21.setEuler([-180, 0, 0])
    male21.state(1)

    male21 = vizfx.addAvatar('vcc_male2.cfg')
    male21.setPosition([-21.21277, 2.60000, -10.96846])
    male21.setEuler(-180, 0, 0)
    male21.state(1)

    female8 = vizfx.addAvatar('vcc_female.cfg')
    female8.setPosition([-2.55035, 2.60000, -10.95346])
    female8.setEuler(-180, 0, 0)
    female8.state(1)
    ### Shops


### Scene dynamic
Example #21
0
def moveAvatars():
    for a in avatars:
        walk = vizact.walkTo(random.choice(positions))
        a.runAction(walk)
Example #22
0
# Swap out sky with animated sky dome
piazza.getChild('pz_skydome').remove()
day = viz.add('sky_day.osgb')

# Add avatar sitting on a bench
male = viz.addAvatar('vcc_male2.cfg',pos=(-6.5,0,13.5),euler=(90,0,0))
male.state(6)

# Create pigeon
pigeon_root = viz.addGroup()
pigeon_root.visible(False)
pigeon = viz.addAvatar('pigeon.cfg',parent=pigeon_root)

# Add idle animation
random_walk = vizact.walkTo(pos=[vizact.randfloat(-0.5,0.5),0,vizact.randfloat(-0.5,0.5)])
random_animation = vizact.method.state(vizact.choice([1,3],vizact.RANDOM))
random_wait = vizact.waittime(vizact.randfloat(4.0,8.0))
pigeon_idle = vizact.sequence( random_walk, random_animation, random_wait, viz.FOREVER)
pigeon.runAction(pigeon_idle)

# Adding sound to pigeon
hooting = pigeon.playsound('birds.wav',viz.LOOP)
hooting.pause()

# Create flash screen quad
flash_quad = viz.addTexQuad(parent=viz.ORTHO)
flash_quad.color(viz.WHITE)
flash_quad.alignment(viz.ALIGN_LEFT_BOTTOM)
flash_quad.drawOrder(-10)
flash_quad.blendFunc(viz.GL_ONE,viz.GL_ONE)
Example #23
0
def pigeonRun(e):
	runAction = vizact.walkTo([vizact.randfloat(2,4), 0, vizact.randfloat(3, 6)], 4)
	pigeon.runAction(runAction)
	pigeon.addAction(pigeon_idle)
shadow = vizshape.addQuad(parent=avatar,axis=vizshape.AXIS_Y)
shadow.texture(shadow_texture)
shadow.zoffset()
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()
Example #25
0
#Add crates marker for participant to walk to
crate1 = viz.addChild('crate.osgb',pos=[-9.9,0.3,5.7],scale=[0.6,0.6,0.6])
crate2 = crate1.clone(pos=[-9.8,0.3,5.05],euler=[5,0,0],scale=[0.6,0.6,0.6])
crate3 = crate1.clone(pos=[-9.8,0.9,5.35],euler=[-5,0,0],scale=[0.6,0.6,0.6])

#Boolean variables to store trial results
avoidSitting = True
avoidStanding = True
avoidDancing = True

pigeonPositions=[[-6.9,0,7.2],[3.3,0,14.5],[0.8,0,16],[-2.3,0,14.7],[2.9,0,-1.6],[-0.7,0,-1.7]]

for pos in pigeonPositions:
    pigeon = pigeon.copy(pos=pos)
    random_speed = vizact.method.setAnimationSpeed(0,vizact.randfloat(0.7,1.5))
    random_walk = vizact.walkTo(pos=[vizact.randfloat(pos[0]-0.3,pos[0]+0.3),0,vizact.randfloat(pos[2]-0.5,pos[2]+0.5)])
    random_animation = vizact.method.state(vizact.choice([1,3],vizact.RANDOM))
    random_wait = vizact.waittime(vizact.randfloat(5.0,10.0))
    pigeon_idle = vizact.sequence( random_speed, random_walk, random_animation, random_wait, viz.FOREVER)
    pigeon.runAction(pigeon_idle)

#Add three avatars in different locations with different animations
avatar1 = viz.addAvatar('vcc_male2.cfg',pos=[2.1,0, 21.4],euler=[180,0,0],scale=[0.95,0.95,0.95])
avatar2 = avatar1.copy(pos=[-10.2,0,12],euler=[90,0,0])
avatar3 = avatar1.copy(pos=[1.5,0,5.6],euler=[180,0,0])
avatar1.state(6)
avatar2.state(1)
avatar3.state(5)

#Create sensors for destinations 
plantSensor = vizproximity.Sensor(vizproximity.Box([4,5,5],center=[0,2.5,0]),source=plantMarker)
Example #26
0
def addAvatarToWorld(info):
	person = vizfx.addAvatar(info.avatarFile, pos=info.startPosition, euler=info.euler)
	person.state(info.state)
	if info.coordinates != None:
		action = vizact.sequence([vizact.walkTo(c, walkSpeed=info.speed, turnSpeed=info.turnSpeed, walkAnim=info.state, turnInPlace=True) for c in info.coordinates], viz.FOREVER)
		person.runAction(action)
def moveAvatars() :
	for a in avatars:
		walk = vizact.walkTo(random.choice(positions))
		a.runAction(walk)
Example #28
0
File: Test.py Project: kevinsp/DvB
def walkAvatars():
    walk1 = vizact.walkTo([4.5, 0,-40])
    vizact.ontimer2(0.5,0,female.addAction,walk1)

    walk2 = vizact.walkTo([3.5,0,-40])
    male.addAction(walk2)
Example #29
0
def femaleWalk(pos):
	female.state(3)
	walk = vizact.walkTo(pos)
	female.runAction(walk)
Example #30
0
shadow.texture(shadow_texture)
shadow.zoffset()
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],
Example #31
0
pigeon.runAction(pigeon_idle)

#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():
manager1 = vizproximity.Manager()
manager2 = vizproximity.Manager()

manager1.addSensor(pigeonSensor)
manager2.addSensor(maleSensor)

manager2.addTarget(femaleTarget)
manager1.addTarget(maleTarget)

#Toggle debug shapes with keypress 
vizact.onkeydown('d',manager1.setDebug,viz.TOGGLE)

def interaction(e):
    if e.sensor == maleSensor:
        female.addAction(vizact.animation(2))
        male.addAction(vizact.animation(3))
    else:
        male.addAction(vizact.animation(4))
        pigeon.state(3)
        #pigeon.addAction(vizact.animation(3))
    

manager2.onEnter(None, interaction)
manager1.onEnter(None, interaction)

walk_over_to_male = vizact.walkTo([-.5,0,-2.2])
vizact.onkeydown('f', female.runAction, walk_over_to_male)

walk_over_to_pigeon = vizact.walkTo([-3.2,0,3.4])
vizact.onkeydown('m', male.runAction, walk_over_to_pigeon)
Example #33
0
def femaleWalk():
	act = vizact.walkTo([-3,0,0])
	female.runAction(act)
Example #34
0
#######################sound############################

#Adding sound
sound = viz.addAudio('radio2.mp3')
#sound.loop(viz.ON)
sound.volume(2)
sound.setTime(3)
sound.setRate(1)
sound.play()

########################################################

speech = vizact.speak('jfk.wav')

run11 = vizact.walkTo([-45, 2.40, 30.5], verb='run')
run21 = vizact.walkTo([-45, 2.40, 30.5], verb='run')
run31 = vizact.walkTo([-45, 2.40, 30.5], verb='run')
run41 = vizact.walkTo([-42, 2.40, 30.5], verb='run')

run12 = vizact.walkTo([-48, 0, 29], verb='run')
run22 = vizact.walkTo([-49, 0, 28], verb='run')
run32 = vizact.walkTo([-49, 0, 27], verb='run')
run42 = vizact.walkTo([-42, 0, 30], verb='run')

run13 = vizact.walkTo([-45, 0, -59], verb='run')
run23 = vizact.walkTo([-46, 0, -59], verb='run')
run33 = vizact.walkTo([-47, 0, -59], verb='run')
run43 = vizact.walkTo([-42, 0, -59], verb='run')

run5 = vizact.walkTo([-155, 0, -20], verb='run')
Example #35
0
# load guitar model
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
Example #36
0
def spawnMan():
  loc = randExclude(-7, 7, -5, 5, 3)
  yield viztask.addAction(spawnedMan, vizact.walkTo(woman.getPosition(), walkSpeed=10))
  print loc
  spawnedMan.setPosition(loc)
  spawnedMan.lookAt(woman.getPosition())