コード例 #1
0
def getZep():
	ZEP = ZEP_MODEL.clone()
	
	# Add a propellor, spin it and position relative to Zepplin
	PROP = PROP_MODEL.clone()
	PROP.setParent(ZEP)
	PROP2 = PROP_MODEL.clone()
	PROP2.setParent(ZEP)
	PROP3 = PROP_MODEL.clone()
	PROP3.setParent(ZEP)
	PROP4 = PROP_MODEL.clone()
	PROP4.setParent(ZEP)

	PROP.addAction( vizact.spin(0,0,1,-540) )
	PROP2.addAction( vizact.spin(0,0,1,510) )
	PROP3.addAction( vizact.spin(0,0,1,-545) )
	PROP4.addAction( vizact.spin(0,0,1,500) )

	PROP.setPosition([.0865,.0592,-0.1475])
	PROP2.setPosition([-.0865,.0592,-0.1475])
	PROP3.setPosition([.0836,.0589,-0.316])
	PROP4.setPosition([-.0836,.0589,-0.316])

	ZEP.setScale(1260,1260,1260)
	ZEP.alpha(.5)

	return ZEP
コード例 #2
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def Start (self):
		self.PlayAudio('steam_engine')
		self.engine_system.addAction(vizact.spin(0,0,1, 90,viz.FOREVER))
		self.watt.addAction(vizact.spin(0,0,1, 90, viz.FOREVER))
		self.spool.addAction(vizact.spin(0,1,0, 90, viz.FOREVER))
		try:
			self.capPrevZPos = self.cap.getPosition(viz.ABS_GLOBAL)[2]
			self._updateFunc.setEnabled(viz.ON)
		except AttributeError:
			self._updateFunc = vizact.onupdate(0, self.update)
コード例 #3
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def SetMotion (self):
		self.PlayAudio('pump_oil')
		self.wheelP.addAction(vizact.spin(1,0,0, 90,viz.FOREVER))
		self.crankshaft.addAction(vizact.spin(1,0,0, 152,viz.FOREVER))
#		self.crankshaft.addAction(vizact.spin(0,0,1, 90,viz.FOREVER))
		try:
			self.capPrevYPos = self.cap.getPosition(viz.ABS_GLOBAL)[1]
			self._updateFunc.setEnabled(viz.ON)
		except AttributeError:
			self._updateFunc = vizact.onupdate(0, self.update)
コード例 #4
0
ファイル: D2C3.py プロジェクト: vhilab/VRITS-2015
def DisplayInstructionsTask():
    """Task that display instructions and waits for keypress to continue"""
    panel = vizinfo.InfoPanel(INSTRUCTIONS,align=viz.ALIGN_CENTER,fontSize=22,icon=False,key=None)
    pigeonClone = pigeon.clone(scale=[200]*3)
    pigeonClone.addAction(vizact.spin(0,1,0,45))
    pigeonClone.enable(viz.DEPTH_TEST,op=viz.OP_ROOT)
    panel.addItem(pigeonClone,align=viz.ALIGN_CENTER)
    yield viztask.waitKeyDown(' ')
    panel.remove()
コード例 #5
0
ファイル: SchoolMovement.py プロジェクト: vhilab/VRITS-2015
	def __init__(self, fishes, movementSettings):
		self.fishes = fishes
		self.settings = movementSettings
		
		yAxis = 1 if self.settings.clockwise else -1
		self.action = vizact.spin(0,yAxis,0, self.settings.speed, viz.FOREVER)

		for fish in self.fishes:
			self.initFish(self.fish)
コード例 #6
0
def crystalBallScene():
 global globeScene, crystalBall
 globeScene.enable(viz.RENDERING)
 viz.fog(0.2)
 crystalBall = globeScene.getChild('preview.osgb')
 crystalBall.alpha(0.7)
 #insideCrystal = globeScene.getChild('preview2.osgb')
 crystalBall.disable(viz.RENDERING)
 #insideCrystal.disable(viz.RENDERING)
 yield fader.fadeInTask()
 #globeScene.playsound('background.wav')
 globe = globeScene.getChild('earthGlobe.OSGB')
 spinForever = vizact.spin(0,-1,0, 25, dur = viz.FOREVER)
 spinForever2 = vizact.spin(0,1,0, 20, dur = viz.FOREVER)
 spinSome = vizact.spin(0,-1,0, 30, dur=5)
 globe.addAction(spinSome)
 crystalBall.addAction(spinForever)
 #insideCrystal.addAction(spinForever2)
 yield viztask.waitTime(5)
 fadeOutGlobe = vizact.fadeTo(0, speed = .7)
 globe.addAction(fadeOutGlobe)
 crystalBall.enable(viz.RENDERING)
 #insideCrystal.enable(viz.RENDERING)
 yield viztask.waitTime(1)
 globe.remove()
 manager = vizproximity.Manager()
 manager.setDebug(False) #make true to see the outline of the proximity sensor
 rightHandTarget = vizproximity.Target(globals_oa.rightHand)
 leftHandTarget = vizproximity.Target(globals_oa.leftHand)
 ballSensor = vizproximity.Sensor(vizproximity.Sphere(1.5, center=[0,5.5,0]), source=crystalBall)
 manager.addTarget(rightHandTarget)
 manager.addTarget(leftHandTarget)
 manager.addSensor(ballSensor)
 #yield vizproximity.waitEnter(ballSensor)
 yield viztask.waitKeyDown('/')
 globals_oa.AUDIO_SUCCESS.play()
 yield fader.fadeOutTask()
 globeScene.remove()
 crystalBall.remove()
コード例 #7
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def MoveBarrow (self):
		barrow = self.components['barrow']
		#update barrow to the new position
		self.faClass.componentPos[barrow] = [-22.5,0.5,9.5]
		barrow.addAction(vizact.spinTo(euler=[0,0,10], time=.5))
		waitLift = vizact.signal()
		barrow.addAction(waitLift.trigger)
		self.wheel.addAction(waitLift.wait)
		self.wheel.addAction(vizact.spin(0,0,1,120, dur=4))
		moveB = vizact.moveTo([-22.5,0.325,9.5], time=4, mode=viz.ABS_GLOBAL, interpolate=vizact.easeOut)
		rotateB = vizact.spinTo(euler=[-90,0,10], time=5)
		barrow.addAction(vizact.parallel(moveB, rotateB))
		barrow.addAction(vizact.spinTo(euler=[-90,0,0], time=.5))
コード例 #8
0
def addStreetlights(scene=viz.MainScene):
  global sphere, sphere2;
#  pic = viz.addTexture('streetlamp.jpg');
#  sphere = vizshape.addQuad(size=[15, 4],scene=scene)
#  sphere2 = vizshape.addQuad(size=[15, 4],scene=scene)
#  sphere.setPosition([5, 2.5, 5]);
#  sphere2.setPosition([5,2.5,-5]);
#  pic = viz.addTexture('streetlamp.jpg')
#  sphere.texture(pic)
#  sphere.emissive(viz.WHITE)
#  sphere2.texture(pic)
#  sphere2.emissive(viz.WHITE)
  cylinder = vizshape.addCylinder(height=5.0,radius=11,
                 topRadius=None,
                 bottomRadius=None,
                 axis=vizshape.AXIS_Y,
                 slices=20,
                 bottom=True,top=True, flipFaces = True)
  cylinder2 = vizshape.addCylinder(height=5.0,radius=11,
                 topRadius=None,
                 bottomRadius=None,
                 axis=vizshape.AXIS_Y,
                 slices=20,
                 bottom=False,top=False, flipFaces = True)
  cylinder.setPosition([0, 2.5, -3])
  cylinder2.setPosition([0, 2.5, 3])
  pic = viz.addTexture('resources/images/streetlamp.jpg')
  cylinder.texture(pic)
  cylinder.emissive(viz.WHITE)
  cylinder.addAction(vizact.spin(0, 1, 0, -40))
  cylinder2.texture(pic)
  cylinder2.emissive(viz.WHITE)
  cylinder2.addAction(vizact.spin(0, 1, 0, 40))
  global timeToMove, origPOS, endPOS
  timeToMove = 2
  origPOS = [ [5, 2.5, 5] , [5,2.5,-5] ]
  endPOS = [ [-11,2.5,5] , [-11,2.5,-5] ]
  leftLight = makeLight(scene)
  rightLight = makeLight(scene)
コード例 #9
0
def checkStep():
    global checkYaw, yaw
    checkYaw = yaw

    yaw = Torso.getEuler()[0]

    # 	print 'Yaw', yaw
    # 	print 'CheckYaw', checkYaw

    LFvert = (LF.getPosition())[1]
    RFvert = (RF.getPosition())[1]

    if yaw >= 5 + checkYaw:
        spin = vizact.spin(0, 180 - yaw, 0, -90, 0.13)
        male.addAction(spin)

    elif yaw <= checkYaw - 5:
        spin = vizact.spin(0, 180 + yaw, 0, +90, 0.13)
        male.addAction(spin)

    if prevStep == "DOWN" and (LFvert > initialStep or RFvert > initialStep):
        step()
コード例 #10
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def SetMotion (self):
		#reset component position
		self.shaft.setEuler(0,0,0)
		self.rodL.setPosition(13.245,-196.394,738.167)
		self.rodR.setPosition(13.245,-196.394,738.167)
		self.rodL.setEuler(0,0,0)
		self.rodR.setEuler(0,0,0)
		self.pistonL.setPosition(13.245,-196.394,738.167)
		self.pistonR.setPosition(13.245,-196.394,738.167)
		self.pistonL.setEuler(0,0,0)
		self.pistonR.setEuler(0,0,0)
		#self.wheel.setEuler(0,0,0)
		self.gear.addAction(vizact.spin(0,0,1, 90,viz.FOREVER))
		self.shaft.addAction(vizact.spin(0,0,1,-36,viz.FOREVER))
		#set the left rod's action (rotation and transform)
		moveRodUp = vizact.moveTo([13.245,-130,738.167], time=5)
		moveRodDown = vizact.moveTo([13.245,-196.394,738.167], time=5)
		rodLTransform = vizact.sequence([moveRodUp, moveRodDown], viz.FOREVER)
		spinRodFw = vizact.spin(0,0,1, 2, 2.5)
		spinRodBw = vizact.spin(0,0,1, -2, 2.5)
		rodLRotation = vizact.sequence([spinRodFw, spinRodBw, spinRodBw, spinRodFw], viz.FOREVER)
		rodLMotion = vizact.parallel(rodLTransform, rodLRotation)
		#set the right rod's action (rotation and transform)
		moveRodRUp = vizact.moveTo([13.245,-196.394,738.167], time=5)
		moveRodRDown = vizact.moveTo([13.245,-262,738.167], time=5)
		rodRTransform = vizact.sequence([moveRodRDown, moveRodRUp], viz.FOREVER)
		rodRRotation = vizact.sequence([spinRodBw, spinRodFw, spinRodFw, spinRodBw], viz.FOREVER)
		rodRMotion = vizact.parallel(rodRTransform, rodRRotation)
		# start moving the rods
		self.rodL.addAction(rodLMotion)
		self.rodR.addAction(rodRMotion)
		# start moving the pistons
		pistonLTransform = vizact.sequence([moveRodUp, moveRodDown], viz.FOREVER)
		self.pistonL.addAction(pistonLTransform)
		pistonRTransform = vizact.sequence([moveRodRDown, moveRodRUp], viz.FOREVER)
		self.pistonR.addAction(pistonRTransform)
コード例 #11
0
def crystalBallSceneGo():
 global crystalBall
 globals_oa.globeScene.enable(viz.RENDERING)
# viz.fog(0.2)
 #add globe, spinning
 crystalBall = globals_oa.globeScene.getChild('crystalBall.osgb')
 crystalBall.alpha(.7)
 spinForever = vizact.spin(0,-1,0, 25, dur = viz.FOREVER)
 crystalBall.addAction(spinForever,0)
# fadeInBall = vizact.fadeTo(.7, time = 60)  
# crystalBall.addAction(fadeInBall,1)
 globe = globals_oa.globeScene.getChild('earthGlobe.OSGB')
 spinSome = vizact.spin(0,-1,0, 30, dur=viz.FOREVER)
 globe.addAction(spinSome,2)
 yield fader.fadeInTask()
 #globals_oa.globeScene.playsound('background.wav')
# spinForever2 = vizact.spin(0,1,0, 20, dur = viz.FOREVER)
 yield viztask.waitTime(5)
 fadeOutGlobe = vizact.fadeTo(0,time = 5)
 globe.addAction(fadeOutGlobe,3)
 yield viztask.waitTime(8)
 globe.remove()
 manager = vizproximity.Manager()
 manager.setDebug(False) #make true to see the outline of the proximity sensor
 rightHandTarget = vizproximity.Target(globals_oa.rightHand)
 leftHandTarget = vizproximity.Target(globals_oa.leftHand)
 ballSensor = vizproximity.Sensor(vizproximity.Sphere(1.5, center=[0,5.5,0]), source=crystalBall)
 manager.addTarget(rightHandTarget)
 manager.addTarget(leftHandTarget)
 manager.addSensor(ballSensor)
 yield vizproximity.waitEnter(ballSensor)
# yield viztask.waitKeyDown('/')
 globals_oa.AUDIO_SUCCESS.play()
 yield fader.fadeOutTask()
 globals_oa.globeScene.remove()
 crystalBall.remove()
コード例 #12
0
    def createCircles(self, NUM_DOTS, RADIUS, POINTSIZE, VELOCITYDIRECTION):

        #Build sphere
        viz.startLayer(viz.POINTS)
        viz.vertexColor(viz.WHITE)
        viz.pointSize(self.POINTSIZE)

        for i in range(0, NUM_DOTS):
            x = RADIUS * math.cos((i * 2 * math.pi) / NUM_DOTS)
            y = RADIUS * math.sin((i * 2 * math.pi) / NUM_DOTS)
            viz.vertex([x, y, 0])

        sphere = viz.endLayer()
        sphere.setPosition([0, 1.8, 4])
        sphere.addAction(vizact.spin(0, 0, 1, VELOCITYDIRECTION))
        return sphere
コード例 #13
0
def AddLight(lightColor,glareColor,speed,radius,height):
	LightRoot = viz.add(viz.GROUP)
	LightRoot.translate(radius,height,0)
	LightRoot.center(-radius,0,0)
	LightRoot.add(vizact.spin(0,1,0,speed))
	GlareQuad = LightRoot.add(viz.TEXQUAD)
	GlareQuad.texture(LightTexture)
	GlareQuad.billboard()
	GlareQuad.color(glareColor)
	GlareQuad.disable(viz.LIGHTING)
	GlareQuad.scale(0.2,0.2,0.2)
	GlareQuad.blendFunc(viz.GL_SRC_ALPHA,viz.GL_ONE)
	Light = LightRoot.add(viz.LIGHT)
	Light.position(0,0,0)
	Light.color(lightColor[0],lightColor[1],lightColor[2])
	Light.linearattenuation(0.2)
コード例 #14
0
ファイル: touchcube.py プロジェクト: vhilab/thirdArm
def InitFire():
	global fireActivated
	reportFireTime()
	viztask.waitTime(1)
	fire = viz.add('fire_small2.osg')
	fire.setPosition([-1.35, 1.5, -2.75])
	fire.hasparticles()
	fire.setScale(1, .5, .5)
	fire.addAction(vizact.spin(0,1,0,360))
	ignition = fire.playsound('ignite.wav')
	ignition.volume(.25)
	explosion = fire.playsound('explosion.wav')
	explosion.volume(.25)
	firecracking = fire.playsound ('longfire.wav')
	firecracking.volume(.25)
	vizact.ontimer2(5, 1, KillFire, fire, ignition, explosion, firecracking)
	fireActivated = True
コード例 #15
0
    def updatePos(self):
        rad_to_deg = math.pi / 180.0
        msg = viz.addText("",
                          parent=viz.SCREEN,
                          pos=(0.05, 0.9, 0),
                          scale=(0.25, 0.25, 0))
        msg.setBackdrop(viz.BACKDROP_OUTLINE)
        self.readTime = 0
        t0 = viz.tick()
        while True:
            if self.going:
                #self.T1.ReadBothBeltsPosition()
                #self.T1.ReadBothBeltsSpeed()
                self.lbp = self.T1.plabTreadmill.leftBeltPosition.value
                self.rbp = self.T1.plabTreadmill.rightBeltPosition.value
                self.lbs = self.T1.plabTreadmill.leftBeltSpeed.value
                self.rbs = self.T1.plabTreadmill.rightBeltSpeed.value
                if self.verbose:
                    self.message = "Left: %6.6f, %6.6f\nRight: %6.6f, %6.6f\nReadTime: %6.6f ms"%(\
                     self.lbp, self.lbs, self.rbp, self.rbs, 1000.0*self.readTime)
                else:
                    self.message = ""
                msg.message(self.message)

                dt = viz.tick() - t0
                dtheta_dt = (self.lbs - self.rbs) / self.separation
                dr_dt = 0.5 * (self.lbs + self.rbs)
                spinner = vizact.spin(0, 1, 0, dtheta_dt, dt)
                mover = vizact.move(0, 0, dr_dt, dt)
                spinmove = vizact.parallel(spinner, mover)
                #print "gh1",dr_dt, dt
                self.track.addAction(spinmove)
                yield viztask.waitActionEnd(self.track, spinmove)
                t0 = viz.tick()

                #for the recording
                if self.recording:
                    #time, left pos, left speed, right pos, right speed, head pos (xyz, dir)
                    pp = self.track.getPosition()
                    self.history.append(
                        (viz.tick(), self.lbp, self.lbs, self.rbp, self.rbs,
                         pp[0], pp[1], pp[2], self.track.getEuler()[0]))
            #yield viztask.waitTime(1.0/19.0)
            yield viztask.waitEvent(TREADMILL_STATE_UPDATED)
コード例 #16
0
ファイル: pigeon_world.py プロジェクト: vhilab/VRITS-2015
def DisplayInstructionsTask():
    global male2
    global revealSelf
    global manChase

    """Task that display instructions and waits for keypress to continue"""
    panel = vizinfo.InfoPanel(INSTRUCTIONS,align=viz.ALIGN_CENTER,fontSize=22,icon=False,key=None)
    pigeonClone = pigeon.clone(scale=[200]*3)
    pigeonClone.addAction(vizact.spin(0,1,0,45))
    pigeonClone.enable(viz.DEPTH_TEST,op=viz.OP_ROOT)
    panel.addItem(pigeonClone,align=viz.ALIGN_CENTER)
    d = yield viztask.waitMouseDown(None)
    panel.remove()
    if d.button == viz.MOUSEBUTTON_RIGHT:
        revealSelf = True
    if d.button == viz.MOUSEBUTTON_MIDDLE:
        manChase = True
    panel = vizinfo.InfoPanel("PRESS SPACE TO BEGIN THE HUNT",align=viz.ALIGN_CENTER,fontSize=22,icon=False,key=None)
    yield viztask.waitKeyDown(' ')
    panel.remove()
コード例 #17
0
ファイル: Factory.py プロジェクト: tokola/GitHub_OLiVE
	def StartFactory (self):
		if self.started:	#don't run the script again if the factory is aleady started
			return
			
		self.started = True
		for m, machine in self.machines.iteritems():
			machine.Start()
			#animate machinery wheels
			if self.wheels.has_key(m):	#check if this machine has wheels
				for w in self.wheels[m]:
					rev = 1
					#reverse the gear & wheel rotation for the left mill
					if m == 'millL' and self.wheels[m].index(w) == 1:
						rev = -1
					w.addAction(vizact.spin(1,0,0, -90*rev,viz.FOREVER))
			#animate machinery belts
			self.belts['laval'].Start()
			if  self.belts.has_key(m):	#check if this machine has belts
				b = self.belts[m]
#				if m == 'lavalR':
				b.Start()
コード例 #18
0
def CarUpdate():
    global rotateX
    global currentcar
    global speed
    global rotateY
    global deaccel

    if speed > 0:
        speed -= deaccel
    if speed < 0:
        speed += deaccel

    if speed < 0.1:
        motion = 0
    else:
        motion = 1
    move = vizact.move([0, 0, speed / 1.5], 0.1)
    rotate = vizact.spin(0, 1, 0, steer * (speed / 1.5) * 0.05, 0.1)
    viewmoveX = vizact.spinTo(quat=[rotateX, rotateY, 0, 2], time=0.1)
    offsetNode.clearActions()
    offsetNode.clearActionList()
    offsetNode.add(move, 0)
    offsetNode.add(rotate, 1)
    environment.setPosition(offsetNode.getPosition())
    speeddisplay.message('Speed: ' + str(speed))
    steerdisplay.message('Steer: ' + str(steer))
    if auto:
        geardisplay.message('Gear: Automatic')
    else:
        if gear < 0:
            geardisplay.message('Gear: Reverse')
        if gear == 0:
            geardisplay.message('Gear: Neutral')
        else:
            geardisplay.message('Gear: ' + str(gear))
    cardisplay.message(str(currentcar))
コード例 #19
0
ファイル: MapManager.py プロジェクト: niclas2109/RecoTool
    def addNavigationObjects(self, route):

        f = self.mapper.squaresPerMeter

        # necessary to save both object and position because of rounding errors
        lastObj = None
        lastPos = None

        for p in route:

            if lastObj != None and lastPos != None:
                rot = 0

                if lastPos[0] < p[0] and p[1] == lastPos[1]:
                    rot = 180
                elif p[1] != lastPos[1]:
                    if lastPos[0] > p[0]:
                        rot = 45
                    elif lastPos[0] < p[0]:
                        rot = 135
                    else:
                        rot = 90

                    if lastPos[1] > p[1]:
                        rot *= -1

                lastObj.setEuler([rot, 0, 0], viz.ABS_LOCAL)

            try:
                obj = self.navigationObj.copy()
                obj.setPosition(
                    [p[0] / float(f), self.fixedBottomHeight, p[1] / float(f)])
                self.navigationObjects.append(obj)

                lastObj = obj
                lastPos = p
            except Exception as e:
                print("ERROR:\n" + str(e))

        self.navigationObjects.pop().remove()

        # set attribute icon into POI symbol
        pic = None
        if 'domain' in self.navigateTo and 'image' in self.navigateTo[
                'domain'] and self.navigateTo['domain']['image'] != None:
            pic = self.addEmbeddedTexture(self.navigateTo["domain"]["image"])
        else:
            pic = viz.addTexture("../resources/item-textures/sign/4.jpg")

        obj = self.poiObj.copy()
        obj.setPosition(
            [p[0] / float(f), self.fixedPOIHeight, p[1] / float(f)])
        obj.texture(pic, "attribute-icon-txtr")

        spin = vizact.spin(0, 1, 0, 90, viz.FOREVER)
        obj.addAction(spin)

        self.navigationObjects.append(obj)

        self.navigationEnabled = True

        print("Navigation objects added...")
コード例 #20
0
def crystalBallSceneGo():
# try:
 global crystalBall, skipKey
 viz.clip(.1,100000)
 globals_oa.globeScene.enable(viz.RENDERING)
 viz.fogcolor(viz.BLACK)
 viz.fog(0.2)
 #add globe and crystal ball, spinning
 crystalBall = globals_oa.globeScene.getChild('crystalBall.OSGB')
 crystalBall.alpha(.7)
 floor = globals_oa.globeScene.getChild('sceneFloor.osgb')
 #GenerateStarDome(150000,2,0,2000, 1, 0)

 spinForever = vizact.spin(0,-1,0, 25, dur = viz.FOREVER)
 crystalBall.addAction(spinForever,0)
 globe = globals_oa.globeScene.getChild('earthGlobe.OSGB')
 spinSome = vizact.spin(0,-1,0, 30, dur=viz.FOREVER)
 globe.addAction(spinSome,2)
 yield globals_oa.fader.fadeInTask()

 #play audio file
 globeAudio1 = globals_oa.GLOBE_SCENE_AUDIO1
 globeAudio2 = globals_oa.GLOBE_SCENE_AUDIO2
 globeAudio1.play()
 globeAudio2.play()
 
 if globals_oa.skippingActivated: raise MyException()
 
# spinForever2 = vizact.spin(0,1,0, 20, dur = viz.FOREVER)
# yield viztask.waitTime(20)
 yield viztask.waitAny([viztask.waitTime(20), skipKey])
 crystalBall.visible(viz.OFF)
 fadeOutGlobe = vizact.fadeTo(0,time = 3)
 globe.addAction(fadeOutGlobe, 3)
 yield viztask.waitActionEnd(globe, fadeOutGlobe)
 globe.remove()
 crystalBall.visible(viz.ON)
# yield viztask.waitTime(8)
 yield viztask.waitAny([viztask.waitTime(6), skipKey])
 manager = vizproximity.Manager()
 manager.setDebug(False) #make true to see the outline of the proximity sensor
 rightHandTarget = vizproximity.Target(globals_oa.rightHand)
 leftHandTarget = vizproximity.Target(globals_oa.leftHand)
 ballSensor = vizproximity.Sensor(vizproximity.Sphere(3, center=[0,5.5,0]), source=crystalBall)
 manager.addTarget(rightHandTarget)
 manager.addTarget(leftHandTarget)
 manager.addSensor(ballSensor) 
 yield viztask.waitTime(globeAudio2.getDuration()-33)
 failAudio = globals_oa.GLOBE_FAIL_AUDIO
 failTimer = vizact.ontimer(5 + failAudio.getDuration(), failAudio.play) 

 yield vizproximity.waitEnter(ballSensor)
# failTimer = vizact.ontimer(5 + failAudio.getDuration(),playWrapper, failAudio)
 failTimer.remove()
# yield viztask.waitKeyDown('/')
 
 globals_oa.AUDIO_SUCCESS.play()
 yield globals_oa.fader.fadeOutTask()
 globals_oa.globeScene.disable(viz.RENDERING)
 globals_oa.GLOBE_SCENE_AUDIO1.stop()
 viz.fog(0)
コード例 #21
0
performer.blend(4,0.5)
performer.blend(5,0.5)

head = performer.getBone('Bip01 Head')
HatLink = viz.link(head,hat)
#Tweek the hat link so it fits snuggly on the head
HatLink.preTrans( [0,0.15,-0.0] )
HatLink.preEuler( [0,-10,0] )

	
for x in [-1,0,1]:
	backupDancer = viz.addAvatar('vcc_female.cfg')
	backupDancer.setPosition([x, .2, -13])
	backupDancer.state(5)
	jump = vizact.move(0,0,1,1)
	turn = vizact.spin(0,1,0,180,1)
	danceMove = vizact.sequence(jump,turn,-1)
	backupDancer.addAction(danceMove)



armBone = performer.getBone('Bip01 R Hand') 
#armBone.lock()
#armBone.setEuler(0, 45, 0)
#viz.link(armBone,mic)



for x in [-3, -1, 1, 3]:
	for z in [4, 2, 0, -2, -4]:
		male = viz.addAvatar('vcc_male.cfg')
コード例 #22
0
ファイル: MapManager.py プロジェクト: niclas2109/RecoTool
    def updateItemsCallBack(self, items):

        self.stopNavigation()

        for obj in self.poiObjects:
            obj.remove()

        for obj in self.productivityItemObjects:
            obj.remove()

        self.items = items

        # Show item POIs in map
        for item in items:

            if item["isProductivityItem"]:
                obj = self.poiObj.copy()
                obj.setPosition([
                    item["geoposition"]["latitude"], self.fixedPOIHeight + 0.3,
                    item["geoposition"]["longitude"]
                ])
                obj.visible(viz.OFF)

                pic = None

                try:
                    if 'domain' in item and 'image' in item[
                            'domain'] and item['domain']['image'] != None:
                        pic = self.addEmbeddedTexture(item["domain"]["image"])
                    else:
                        pic = viz.addTexture(
                            "../resources/item-textures/sign/4.jpg")

                    obj.texture(pic, "attribute-icon-txtr")

                except Exception as e:
                    print(e)

                spin = vizact.spin(0, 1, 0, 90, viz.FOREVER)
                obj.addAction(spin)

                self.poiObjects.append(obj)

                # Add respective 3D model
                itemObj = None

                if "EC Automat" == item["name"]:
                    itemObj = self.cashMachineObject.copy()
                elif "Briefkasten" == item["name"]:
                    itemObj = self.postBoxObject.copy()
                else:
                    itemObj = self.snackMachineObject.copy()

                itemObj.setPosition([
                    item["geoposition"]["latitude"], self.fixedBottomHeight -
                    0.5, item["geoposition"]["longitude"]
                ], viz.ABS_GLOBAL)

                if item["geoposition"]["longitude"] < 105:
                    itemObj.setEuler([180, 0, 0])

                self.productivityItemObjects.append(itemObj)

            else:
                self.setTexture(item)

        if self.mode == self.RECOMMENDER_EFFICIENCY_MODE:
            self.switchRecommenderMode(self.mode, self.navigateTo)

        print('set num of items ' + str(len(items)))
コード例 #23
0
RADIUS = 30
MOVE_SPEED = .005
ROTATION_SPEED = 5
SUB_GROUP_SPACING = 20
for i in range(0, NUM_DOTS):
	x = random.random() - 0.5
	y = random.random() / 2
	z = random.random() - 0.5
	length = math.sqrt(x*x + y*y + z*z)
	x = x / length * RADIUS
	y = y / length * RADIUS
	z = z / length * RADIUS
	particleGroup = viz.addGroup()
	particleGroup.setPosition([x, y, z])
	particleGroup.setEuler([random.random()*360, random.random()*360, random.random()*360])
	particleGroup.addAction(vizact.spin(random.random(),random.random(),random.random(), random.random()*ROTATION_SPEED,viz.FOREVER))
	particleGroup.addAction(vizact.move(random.random()*MOVE_SPEED,random.random()*MOVE_SPEED,random.random()*MOVE_SPEED,viz.FOREVER), 1)
	
	for i in range(10):
		clone = particle.clone()
		clone.parent(particleGroup)
		clone.setScale([SCALE]*3)
		clone.setEuler([random.random()*360, random.random()*360, random.random()*360])
		clone.setPosition([random.random()*SUB_GROUP_SPACING, random.random()*SUB_GROUP_SPACING, random.random()*SUB_GROUP_SPACING])
	
	

if __name__ == '__main__':
	viz.go()
	viz.add('tut_ground.wrl')
	viz.clearcolor(viz.BLUE)
コード例 #24
0
ファイル: testSpin.py プロジェクト: vhilab/VRITS-2015
import viz
import vizact

viz.go()
ball = viz.add('ball.wrl')
ball.center([1,0,0])
ball.setPosition([0,1.82,2])
spinForever = vizact.spin(0,1,0, 90, viz.FOREVER)
ball.addAction(spinForever)

vizact.onkeydown('1', ball.endAction)
vizact.onkeydown('2', ball.addAction, spinForever)
コード例 #25
0
ファイル: Grabber.py プロジェクト: NazS2/WorldVizMenu
tool = grabber.Grabber(usingPhysics=usingPhysics, usingSprings=usingPhysics, highlightMode=highlighter.MODE_OUTLINE)
tool.setItems([soccerball,basketball,volleyball])

# update code for grabber
def updateGrabber(tool):
    state = viz.mouse.getState()
    if state & viz. MOUSEBUTTON_LEFT:
        tool.grabAndHold()
tool.setUpdateFunction(updateGrabber)

#Link the grabber to an arrow in order to
#visualize it's position
from vizconnect.util import virtual_trackers
mouseTracker = virtual_trackers.ScrollWheel(followMouse = True)
mouseTracker.distance = 1.4
arrow = vizshape.addArrow(length=0.2,color=viz.BLUE)
arrowLink = viz.link(mouseTracker,arrow)
arrowLink.postMultLinkable(viz.MainView)
viz.link(arrowLink,tool)

spin = vizact.spin(0,1,0,30,2)

#Add a spin action to the ball when its released
def onRelease(e):
    e.released.runAction(spin)
    
viz.callback(grabber.RELEASE_EVENT,onRelease)

#Disable mouse navigation and hide the mouse curser
viz.mouse(viz.OFF)
viz.mouse.setVisible(viz.OFF)
コード例 #26
0
def rotateFan(speed=180, model=MODEL, scene=viz.MainScene):
    fan = getFan(model, scene)
    spin = vizact.spin(0, 1, 0, speed=speed)
    fan[0].addAction(spin)
    fan[1].addAction(spin)
コード例 #27
0
ファイル: test3.py プロジェクト: HerrPeterPaul/Masterarbeit
import viz
import vizact

#Enable full screen anti-aliasing (FSAA) to smooth edges
viz.setMultiSample(4)

viz.go()

#Increase the Field of View
viz.MainWindow.fov(60)

viz.move([0,0,-8])

piazza = viz.addChild('piazza.osgb')

plants = []
for x in [-3, -1, 1, 3]:
    for z in [4, 2, 0, -2, -4]:
        plant = viz.addChild('plant.osgb',cache=viz.CACHE_CLONE)
        plant.setPosition([x,0,z])
        plants.append(plant)

spin = vizact.spin(0,1,0,15)

spinPlant = lambda plant: plant.addAction(spin)
vizact.ontimer2(0.5,19,spinPlant,vizact.choice(plants))
コード例 #28
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def E_closeValve (self, time):
		self.components['valve'].addAction(vizact.spin(0,0,1,-360,time))
コード例 #29
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def TurnValve (self, dir):
		self.components['bypass'+self.LR].addAction(vizact.spin(1*dir,0,0,360,3))
コード例 #30
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def SetMotion (self):
		self.power_wheel.addAction(vizact.call(self.PlayAudio, 'laval_separate'))
		self.power_wheel.addAction(vizact.spin(1,0,0, 90,viz.FOREVER))
コード例 #31
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def StartCrazy (self):
		self.crazy.addAction(vizact.spin(0,0,1, 90,viz.FOREVER))
コード例 #32
0
ファイル: test3.py プロジェクト: AnnoNuem/Masterarbeit
import viz
import vizact

#Enable full screen anti-aliasing (FSAA) to smooth edges
viz.setMultiSample(4)

viz.go()

#Increase the Field of View
viz.MainWindow.fov(60)

viz.move([0, 0, -8])

piazza = viz.addChild('piazza.osgb')

plants = []
for x in [-3, -1, 1, 3]:
    for z in [4, 2, 0, -2, -4]:
        plant = viz.addChild('plant.osgb', cache=viz.CACHE_CLONE)
        plant.setPosition([x, 0, z])
        plants.append(plant)

spin = vizact.spin(0, 1, 0, 15)

spinPlant = lambda plant: plant.addAction(spin)
vizact.ontimer2(0.5, 19, spinPlant, vizact.choice(plants))
コード例 #33
0
	else:
		xOffset = 0
		isOffset = 0

	#Create a row of bumpers
	x = 0
	while( x < BUMPER_SPACING * NUM_BUMPER_COLUMNS ):

		bumperCopy = bumper.copy() #copy the master bumper object
		bumperCopy.setScale( [BUMPER_WIDTH, BUMPER_DEPTH, BUMPER_WIDTH] )
		bumperCopy.collideCopy( bumper ) #copy the physicalShape objects of the master bumper
		bumperCopy.enable( viz.COLLIDE_NOTIFY ) #We want to be notified of things colliding with the bumper
		bumperCopy.disable( viz.DYNAMICS ) #disable dynamic physics forces from acting on the object
		bumperCopy.setEuler( [0, -90, 0] )
		bumperCopy.setPosition( [x + xOffset + X_CENTERING_OFFSET, y, 0] )
		bumperCopy.runAction( vizact.spin( 0, 1, 0, 40 ) ) #spin the bumper forever
		bumpers.append( bumperCopy ) #add bumper to global list
		x += BUMPER_SPACING

	y += BUMPER_SPACING

bumper.remove() #Remove master bumper from the world


#Initialize all the balls

#Create a ball prototype to clone for all other balls
ballMaster = viz.addChild( 'beachball.osgb', pos=(0,-10,0) )
ballMaster.setScale( [BUMPER_WIDTH*1.5]*3 )
ballMaster.collideSphere( friction = .00000001, hardness = 1 )
コード例 #34
0
			if firstItem:
				species.append(s[0])
				numObjectsToFind.append(0)
				nodesToHuntForEachSpecies[s[0]] = []
				nodeNamesToHuntForEachSpecies[s[0]] = []
				firstItem = False
			else:
				nodeNamesToHuntForEachSpecies[s[0]].append(item)
				
#				print item
		#s = line.split('\n')
		#specieList.append(line[:-1])

fadeOut = vizact.fadeTo(0, begin = 1,  time = 2)
fadeIn = vizact.fadeTo(1, begin = 0, time = 2)
spin = vizact.spin(0,1,0, 36, 10)
display = vizact.sequence(fadeIn, spin, fadeOut)
time_text = None
score_text = None
quad = None
speciesText = None
#slate = None
#basket=None
#selector = None

def hideBasketAndStuffAttachedToIt():
	global count_text1
	global count_text2
	global count_text3
	global quad1
	global quad2
コード例 #35
0
ファイル: scene2.py プロジェクト: XingxinHE/DivineComedy_VR
        sphere.emissive([1, 0, 0])

        for zzz in range(group_trail_num):
            sphere2 = vizshape.addSphere(radius=tmp_radius,
                                         pos=tmp_b_cen,
                                         color=(120, 0, 0),
                                         slices=6,
                                         stacks=6)
            sphere2.alpha(1)
            groups_groups_groups_sphere2[iii][izx].append(sphere2)
            sphere2.emissive([1, 0, 0])
            obj_vis.append(sphere2)

        group = viz.addGroup(parent=mainSphere)
        sphere.setParent(group)
        spinAction = vizact.spin(x, y, z, speed_r, viz.FOREVER)
        groups_groups[iii].append(group)
        groups_groups_sphere[iii].append(sphere)

        for z in range(len(groups)):
            groups[z].runAction(spinAction)

frame_count = 0


def my_frame_cunction():
    global frame_count

    if frame_count > (group_trail_num - 1):
        frame_count = 0
コード例 #36
0
def stopFan(model=MODEL, scene=viz.MainScene):
    fan = getFan(model, scene)
    stop = vizact.spin(0, 1, 0, speed=30)
    fan[0].runAction(stop)
    fan[1].runAction(stop)
コード例 #37
0
myTracker = viz.add('sensor.dls')

viztracker.get("movable").setPosition([0, -1.8, -1])

z_coordinates = [-1, -3, -5, -7, -12, -17, -53, -75, -400]
x_coordinates = [-5, 0, 5, 10, 17, 30, 50, 80, -400]

MOVE_SPEED = 40
count = 0
mode = 0

mercuryTexture = viz.addTexture('Mercury.jpg')
mercury = vizshape.addSphere(radius=0.38, slices=20, stacks=20, pos=(0, 0, 0))
mercury.texture(mercuryTexture)
mercury.alpha(1.0)
mercury.addAction(vizact.spin(0, 1, 0, 5))

marsTexture = viz.addTexture('Mars.jpg')
mars = vizshape.addSphere(radius=0.53, slices=20, stacks=20, pos=(0, 0, -1))
mars.texture(marsTexture)
mars.alpha(.9)
mars.addAction(vizact.spin(0, 1, 0, 5))

venusTexture = viz.addTexture('Venus.jpg')
venus = vizshape.addSphere(radius=0.95, slices=20, stacks=20, pos=(0, 0, -2))
venus.texture(venusTexture)
venus.alpha(.8)
venus.addAction(vizact.spin(0, 1, 0, 5))

earthTexture = viz.addTexture('Earth.jpg')
earth = vizshape.addSphere(radius=1.0, slices=20, stacks=20, pos=(0, 0, -4))
コード例 #38
0
ファイル: Final.py プロジェクト: ghe10/Virtual_Reality
    bird = viz.addAvatar('pigeon.cfg', pos=(x - 30, 4 - x * 0.1, 37))
    bird.collideCapsule()
    bird.disable(viz.DYNAMICS)
    bird.state(3)
    bird.setScale(1, 1, 1)

#corner 1
ocean = viz.add('Ocean/Ocean.osgb')
ocean2 = viz.add('Ocean/Ocean.osgb')
ocean3 = viz.add('Ocean/Ocean.osgb')

ocean.setScale(100, 25, 100)
ocean2.setScale(100, 32, 100)
ocean3.setScale(100, 20, 100)

spin = vizact.spin(0, 1, 0, 25, viz.FOREVER)
spin2 = vizact.spin(0, -1, 0, 30, viz.FOREVER)
spin3 = vizact.spin(0, 1, 0, 5, viz.FOREVER)

ocean.addAction(spin)
ocean2.addAction(spin2)
ocean3.addAction(spin3)

player_prefs = PlayerPrefs(True, 1.0)
player = Player(viz.MainView, player_prefs)
player.setUpPaddle()
'''
def update():
    move_amount = 2
    turn_amount = 0
    
コード例 #39
0
ファイル: actions.py プロジェクト: vhilab/VRITS-2015
import viz
import vizact

viz.setMultiSample(4)
viz.fov(60)
viz.go()

viz.addChild('ground.osgb')
wheel = viz.addChild('wheelbarrow.ive')
viz.MainView.move([0,0,-7])
viz.clearcolor(viz.SKYBLUE)

moveForward = vizact.move(0,0,2,1)
turnRight = vizact.spin(0,1,0,90,1)
moveInSquare = vizact.sequence(moveForward, turnRight, 4)

#wheel.addAction(moveInSquare)
vizact.onkeydown(' ', wheel.addAction, moveInSquare)
vizact.onkeydown('c', wheel.clearActions)

コード例 #40
0
peppar = viz.addChild('resource/Pepper.osgb',
                      pos=(-9, .6, -4.7),
                      euler=(-90, 0, 0))
peppar_sensor = vizproximity.Sensor(vizproximity.CircleArea(3), source=peppar)
manager.addSensor(peppar_sensor)

# ペッパーの紹介
peppr_obj = viz.add('box.wrl', pos=[-8.5, 2.8, -4.7], color=viz.WHITE)
pepper_video = viz.addVideo('resource/pepper.avi')
peppr_obj.texture(pepper_video)
pepper_video.setFrame(10)
peppr_obj.alpha(0)

# wifi
wifi = viz.add('resource/wifi.osgb', pos=[-2, 2, 0])
wifi.addAction(vizact.spin(0, 1, 0, 10, viz.FOREVER))

#机とバリスタ
table = viz.addChild(
    'resource/COWVRT3672+-+COALESSE-TBL,RECT,VENEER,36X72X28.osgb',
    pos=[-3, 0, 6])
barista = viz.add('resource/8000s.osgb',
                  pos=[-3.5, 0.75, 5.8],
                  euler=(90, 0, 0))
coffee = viz.add('resource/Nescafe+simple.osgb',
                 pos=[-3.0, 0.75, 5.6],
                 euler=(0, 0, 0),
                 scale=(4, 4, 4))
barista_sensor = vizproximity.Sensor(vizproximity.CircleArea(1.5),
                                     source=barista)
manager.addSensor(barista_sensor)
コード例 #41
0
ファイル: Machinery.py プロジェクト: tokola/GitHub_OLiVE
	def StartCrazy (self):
		self.wheelC.addAction(vizact.spin(1,0,0, 90,viz.FOREVER))