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
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)
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)
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()
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)
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()
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))
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)
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()
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)
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()
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
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)
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
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)
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()
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()
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))
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...")
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)
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')
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)))
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)
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)
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)
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)
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))
def E_closeValve (self, time): self.components['valve'].addAction(vizact.spin(0,0,1,-360,time))
def TurnValve (self, dir): self.components['bypass'+self.LR].addAction(vizact.spin(1*dir,0,0,360,3))
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))
def StartCrazy (self): self.crazy.addAction(vizact.spin(0,0,1, 90,viz.FOREVER))
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))
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 )
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
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
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)
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))
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
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)
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)
def StartCrazy (self): self.wheelC.addAction(vizact.spin(1,0,0, 90,viz.FOREVER))