def loadStuffAtStart(): global city #loading fadeSphere# globals_oa.fadingSphere = vizshape.addSphere(0.5, flipFaces=True) globals_oa.fadingSphere.alpha(0) globals_oa.fadingSphere.color(viz.BLACK) sphereLink = viz.link(viz.MainView, globals_oa.fadingSphere) #loading the Crystal Ball Scene globals_oa.globeScene = vizfx.addChild(globals_oa.FILE_PATH_TO_GLOBE) globals_oa.globeScene.setScale([0.2,0.2,0.2]) globals_oa.globeScene.setPosition([-1,0,0]) globals_oa.globeScene.disable(viz.RENDERING) #load city scene assets city = vizfx.addChild(globals_oa.FILE_PATH_TO_CITY) city.setPosition([-8,0,11]) city.disable(viz.RENDERING) if not globals_oa.transportSetUpCalled: transport_vhil.setUp() if not globals_oa.loadAudioAssetsCalled: audioCache.loadAudioAssets() # if not globals_oa.initBoatCalled: # boat_scene.loadStuffAtStartAndHideThemALL() if not globals_oa.cg_scene_init_called: CG_scenes.loadStuffAtStartAndHideThemALL()
def loadDisabledOceanScene(): # Add environments. global globeScene, city, skyDome2 globals_oa.ocean = vizfx.addChild(globals_oa.FILE_PATH_TO_WATER) globals_oa.ocean.setAnimationSpeed(0.5) globals_oa.terrainZone2 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE2) globals_oa.currentZoneNumber = 1 #underwater collision transport_vhil.initializeOceanFloorCollision() transport_vhil.initializeOceanSurfaceCollision() globals_oa.ocean.disable(viz.RENDERING) globals_oa.terrainZone2.disable(viz.RENDERING) #load globescene assets globeScene = vizfx.addChild(globals_oa.FILE_PATH_TO_GLOBE) globeScene.setScale([0.2,0.2,0.2]) globeScene.setPosition([0,0,1]) globeScene.disable(viz.RENDERING) #load city scene assets city = vizfx.addChild(globals_oa.FILE_PATH_TO_CITY) city.setPosition([-8,0,11]) skyDome2 = viz.add('sky_day.osgb') city.disable(viz.RENDERING) skyDome2.disable(viz.RENDERING)
def initIschia2(): global ischia ocean = vizfx.addChild(globals_oa.FILE_PATH_TO_FLOOR, scene=viz.Scene2) ocean.setPosition([0,-4,0]) ischia = vizfx.addChild(MODEL_DIR + 'ENV_Island_Main_NoBoats_scaled_no_ocean.osgb', scene=viz.Scene2) ischia_CI = ischia.getChild('CastleIsland') ischia_CI.enable(viz.SAMPLE_ALPHA_TO_COVERAGE) return ischia
def __init__(self): super(self.__class__, self).__init__() self._day = viz.add('resources/sky_day.osgb',parent=self._root) self._day.renderToBackground(order=8) self._environment = vizfx.addChild('resources/environment.osgb',parent=self._root) # self._environment.renderToBackground() self._waveGroup = viz.addGroup(parent=self._root) # self._wave_M = viz.addChild('resources/wave.osgb',cache=viz.CACHE_CLONE,pos=([0,1.5,0]),parent=self._waveGroup) # self._wave_B = viz.addChild('resources/wave.osgb',cache=viz.CACHE_CLONE,pos=([0,1.5,-50]),parent=self._waveGroup) self._newWalkway = vizfx.addChild('resources/walkway.osgb',pos=[0,0.25,0], parent=self._root)
def initIschia(): # globals_oa.initIschiaCalled = True global ischia, ischia_LW ischia = vizfx.addChild(MODEL_DIR + 'ENV_Island_Only_scaled.osgb') # ischia = vizfx.addChild(MODEL_DIR + 'ENV_Island_Main_NoBoats_scaled.osgb') # ischia_LW = vizfx.addChild(MODEL_DIR + 'ENV_Ocean.osgb') ischia_LW = vizfx.addChild(MODEL_DIR + 'Water.osgb') # ischia_LW = ischia.getChild('Ocean') #ischia_sky = ischia.getChild('osgmaxexp_background') #ischia_sky.visible(viz.OFF) ischia_LW.drawOrder(-100) ischia_CI = ischia.getChild('CastleIsland') ischia_CI.enable(viz.SAMPLE_ALPHA_TO_COVERAGE) return ischia
def loadStuffAtStartAndHideThemALL(): global rampTexture globals_oa.initBoatCalled = True if not globals_oa.transportSetUpCalled: transport_vhil.setUp() if not globals_oa.loadAudioAssetsCalled: audioCache.loadAudioAssets() global bigCO2, bigH2O, footprints, bubble, lowPolyMole, highPolyMole globals_oa.boat = vizfx.addChild(globals_oa.boatWithMoleculesPath) globals_oa.boat.disable(viz.ANIMATIONS) globals_oa.boat.setPosition(0,-0.5,-6) # globals_oa.boat.hint(viz.PRELOAD_HINT) globals_oa.boat.setEuler([-90,0,0]) oceanFloor = globals_oa.boat.getChild('OceanFloor.osgb') oceanFloor.setAnimationSpeed(0.25) H2O = globals_oa.boat.getChild('H2O_Molecule_Hovering') H2O.setPosition(.1,-0.13,0.05) # oceanFloor.visible(False) global h2co3molecule h2co3molecule = vizfx.addChild(globals_oa.pathToH2CO3molecule) h2co3moleculeScale = 7 h2co3molecule.setScale(h2co3moleculeScale,h2co3moleculeScale,h2co3moleculeScale) h2co3molecule.visible(viz.OFF) # h2co3molecule.setPosition(globals_oa.h2CO3LocationUntilWeChangeAgain) # h2co3molecule.setAnimationSpeed(0.1) # h2co3molecule.setAnimationTime(8.9) # bigCO2 = vizfx.addChild(globals_oa.co2HoveringMoleculePath) #bigCO2 = globals_oa.boat.getChild('fallingMoleculeToTouch.OSGB') bigCO2 = vizfx.addChild(globals_oa.specialCO2) bigCO2.setPosition(0,21,20) bigCO2.setScale(7,7,7) lowPolyMole = bigCO2.getChild('singleCO2_noAnimation.OSGB') lowPolyMole.disable(viz.RENDERING) highPolyMole = bigCO2.getChild('singleCO2_highPoly.OSGB') bubble = bigCO2.getChild('bubble.OSGB') bigH2O = globals_oa.boat.getChild('H2Oanimated.OSGB') footprintfootprints = globals_oa.boat.getChild('footprints_withText.OSGB') #getting the falling molecules from the model and disabling their rendering for mole in LIST_OF_FALLING_MOLES: node = globals_oa.boat.getChild(mole) node.disable(viz.RENDERING) rampTexture = viz.addTexture(r'resources\whitesquare.jpg') #Turning off the rendering for preload, only to turn on their rendering in showStuff hideStuff()
def addCarToWorld(info): car = vizfx.addChild(random.choice(info.CAR_FILES), pos=info.startPosition) actions = [] for i in range(len(info.coordinates)): actions.append(vizact.spinTo(euler=info.directions[i])) actions.append(vizact.moveTo(info.coordinates[i], speed=info.speed)) car.runAction(vizact.sequence(actions, viz.FOREVER))
def displaySnail(): global rotatingSnail, snailLink rotatingSnail = vizfx.addChild(globals_oa.FAUNA_DIRECTORY + globals_oa.ROTATING_SNAIL) rotatingSnail.setScale([0.1,0.1,0.1]) snailLink = viz.link(globals_oa.rhViveTracker, rotatingSnail) snailLink.preTrans([0.01,-0.03,-0.13]) snailLink.preEuler([0,0,180])
def startCar1(): mole1 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE1) mole1.setPosition([-1.2, 0.35, -0.08]) mole1.setScale([3,3,3]) mole1.setAnimationSpeed(3) mole1.setEuler(-90,0,0) mole2 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole2.setPosition([-1.1,0.3,0]) mole2.setScale([3,3,3]) mole2.setAnimationSpeed(2.1) mole2.setEuler(-90,0,0) mole3 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole3.setPosition([-1.05,0.29,-0.05]) mole3.setScale([3,3,3]) mole3.setAnimationSpeed(5) mole3.setEuler(-90,0,0)
def load(sceneRef=viz.MainScene): global SCENE, ENABLE_LANDSCAPE, car, call_screen SCENE = sceneRef car = vizfx.addChild("Car_Final.OSGB", scene=SCENE) car.scale([CAR_SCALE,CAR_SCALE,CAR_SCALE]) pic = viz.addTexture('resources/images/phone_screen_mail.jpg', scene = SCENE) call_screen = viz.addTexQuad(scene = SCENE) call_screen.setPosition(.075,.8,-2.4) call_screen.setEuler(-180,22,0) call_screen.setScale(.06,.06,.06) call_screen.texture(pic) PosessionHunting.load(car, SCENE) head = viz.MainView.getHeadLight() head.disable() light.addDirectionalLights(CAR_SCALE, SCENE) light.addFog(SCENE) addSphericalLandscape(ENABLE_LANDSCAPE, SCENE) # vizact.onkeydown('b',police.addSirens,SCENE) # vizact.onkeydown('l',police.moveFlashlightToCar,SCENE,POLICE_WALK_TIME) global dc dc = DataCollector(filePrefix='Data/CarSceneTracking_Participant', fileSuffix='.csv') dc.addMainviewTracker() dc.startCollecting()
def initIschia(): ischia = vizfx.addChild(MODEL_DIR + 'ENV_Island_Main_NoBoats_scaled.osgb', scene=viz.Scene2) ischia_LW = ischia.getChild('Ocean') ischia_LW.drawOrder(-100) ischia_CI = ischia.getChild('CastleIsland') ischia_CI.enable(viz.SAMPLE_ALPHA_TO_COVERAGE) return ischia
def load(sceneRef=viz.MainScene): global SCENE SCENE = sceneRef # TODO: Add scene params to all viz.add calls, etc in this module and submodules #Add audio global introAudio introAudio = viz.addAudio('Audio/Bus Scene/BusIntroduction.wav') global ambientAudio ambientAudio = viz.addAudio('Audio/Bus Scene/BusAmbientNoise.wav') #add bus BUS_OBJ_SCALE = .0365 BUS_OSGB_SCALE = 35 curscale = BUS_OSGB_SCALE bus = vizfx.addChild('bus_obj/Bus_Final_Scene1.OSGB', scene=SCENE) bus.setScale([curscale]*3) #bus.emissive(1,1,1) # Makes it look like daytime # add homeless avatars global avatars avatars = avatarconfig.initAvatars(SCENE) # create reference to backpack and thief for fading. The .fade attribute = True means that the # object should fade if not in view. pack_objs = [] pack = bus.getChild('pack') straps = bus.getChild('backpackstraps') avatars[1].fade = False pack.fade = True straps.fade = True pack_objs.append(avatars[1]) pack_objs.append(pack) pack_objs.append(straps) viz.MainView.getHeadLight().disable() global controlAvOnKeyPress, controlViewOnKeyPress controlAvOnKeyPress = vizact.onkeydown('c', keyboardcontrol.control, avatars[0]) controlViewOnKeyPress = vizact.onkeydown('v', keyboardcontrol.control, MainView) if RIFT: creepySeatChanging = CreepySeatChanging.init(avatars[0], pack_objs, introAudio, vfov=VFOV_RIFT, hfov=HFOV_RIFT) else: creepySeatChanging = CreepySeatChanging.init(avatars[0], pack_objs, introAudio, vfov=VFOV_DEFAULT) CreepySeatChanging.disable() #BusLighting.addLighting(SCENE) BusLighting.addStreetlights(SCENE) global toggleBusLightsOnKeyPress toggleBusLightsOnKeyPress = vizact.onkeydown('z', BusLighting.toggleBusLighting) global dc dc = DataCollector(filePrefix='Data/CreepySeatTrackingData_Participant', fileSuffix='.csv') dc.addMainviewTracker() dc.startCollecting()
def loadDisabledZonesAndInitWorldvizCode(): #globals_oa.terrainZone3 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE3_HIGH) #load new models with the high shelf, tweak placement and scaling globals_oa.terrainZone1 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE1_SHELF) globals_oa.terrainZone1.setScale([.7, .7, .7]) globals_oa.terrainZone1.setPosition([2, -.3 ,1]) globals_oa.terrainZone3 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE3_SHELF) globals_oa.terrainZone3.setScale([.7, .7, .7]) globals_oa.terrainZone3.setPosition([17, -1, 1]) globals_oa.terrainZone1.disable(viz.RENDERING) globals_oa.terrainZone3.disable(viz.RENDERING) #Init VFX worldvizcode.initialize()
def loadStuffAtStart(): global city #loading the Crystal Ball Scene globals_oa.globeScene = vizfx.addChild(globals_oa.FILE_PATH_TO_GLOBE) globals_oa.globeScene.setScale([0.2,0.2,0.2]) globals_oa.globeScene.setPosition([0,0,1]) globals_oa.globeScene.disable(viz.RENDERING) #load city scene assets city = vizfx.addChild(globals_oa.FILE_PATH_TO_CITY) city.setPosition([-8,0,11]) skyDome2 = viz.add('sky_day.osgb') city.disable(viz.RENDERING) skyDome2.disable(viz.RENDERING) if not globals_oa.transportSetUpCalled: transport_vhil.setUp()
def loadStuffAtStartAndHideThemALL(): global rotatingSnail, corrodedRotatingSnail, fishZone1, fishZone2, egg globals_oa.cg_scene_init_called = True #loading the zones, if not loaded already if globals_oa.terrainZone1 is None: globals_oa.terrainZone1 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE1) worldvizcode.initVFXforDC(globals_oa.terrainZone1) # should moved into loadAndHide? # worldvizcode.stopEffects() globals_oa.terrainZone1.setPosition(1,0,0.5) egg = globals_oa.terrainZone1.getChild('bubble.OSGB') egg.visible(viz.OFF) loadTheSnailFlagListAndHideFlags() if globals_oa.terrainZone3 is None: globals_oa.terrainZone3 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE3) globals_oa.terrainZone3.setPosition(1,0,0.5) if not globals_oa.transportSetUpCalled: transport_vhil.setUp() if globals_oa.ocean is None: globals_oa.ocean = vizfx.addChild(globals_oa.FILE_PATH_TO_WATER) globals_oa.ocean.setPosition(0.0, 2.5, 0.0) globals_oa.ocean.setAnimationSpeed(0.25) globals_oa.ocean.draworder(9) if not globals_oa.loadAudioAssetsCalled: audioCache.loadAudioAssets() # fishZone1 = schooling.initialize(1) # fishZone2 = schooling.initialize(2) # schooling.hide(fishZone1) # schooling.hide(fishZone2) rotatingSnail = vizfx.addChild(globals_oa.ROTATING_SNAIL) rotatingSnail.setScale([0.1,0.1,0.1]) rotatingSnail.visible(viz.OFF) corrodedRotatingSnail = vizfx.addChild(globals_oa.CORRODED_SNAIL) corrodedRotatingSnail.setScale([0.1, 0.1, 0.1]) corrodedRotatingSnail.visible(viz.OFF) #Hiding pre-loaded assets hideStuff()
def initBoat(): # globals_oa.initBoatCalled = True globals_oa.boat = vizfx.addChild(MODEL_DIR + 'boatWithMolecules.osgb') # globals_oa.boat = vizfx.addChild(MODEL_DIR + 'boat_wheeldetached.osgb') # globals_oa.boat = vizfx.addChild(MODEL_DIR + 'boat_wheeldetached - Copy.osgb') globals_oa.boat.setEuler([90,0,0]) globals_oa.boat.setPosition([0,0,4.5]) globals_oa.boat.setAnimationSpeed(0) initSteering()
def load(carNode, sceneRef=viz.MainScene): global SCENE SCENE = sceneRef global car, cup1, liftedBlanket, flatBlanket, toothBrush, toothPaste, cap, bristles, cup2, bottle1, bottle2, bottleCap1, bottleCap2 car = carNode flatBlanket = car.getChild("Plane003") liftedBlanket = vizfx.addChild("blanketBent.osgb", scene=SCENE) liftedBlanket.setScale([CAR_SCALE, CAR_SCALE,CAR_SCALE]) liftedBlanket.setPosition([-.58,0.5,-2]) liftedBlanket.setEuler(0,10,0) liftedBlanket.visible(viz.OFF) invisibleCup = car.getChild("Cup001") #get rid of cup that is part of car model invisibleCup.visible(viz.OFF) cup1 = vizfx.addChild("cupModel.osgb", scene = SCENE) cup1.setScale([OBJECT_SCALE,OBJECT_SCALE,OBJECT_SCALE]) cup1.setPosition([-.70,1.23,-2.76]) cup1.setEuler(0,105,-120) cup2 = car.getChild("Cup") toothBrush = car.getChild("ToothBrush") bristles = car.getChild("Fake Bristles") #part of tooth brush in model toothPaste = car.getChild("ToothpasteTube") cap = car.getChild("Cap") #part of toothpaste tube in model bottle1 = car.getChild("Cylinder001") bottleCap1 = car.getChild("cap") bottle2 = car.getChild("Cylinder002") bottleCap2 = car.getChild("cap001") global selector selector = NodeSelectionWithFeedbackOptions.Selector(scene=SCENE, crosshairFeedback = True, audioFeedback = True) objectsToSelect.extend([liftedBlanket, flatBlanket, toothBrush, bristles]) selector.onSelect(objectsToSelect, nodeSelected) selector.onDeselect(objectsToSelect, nodeDeselected) selector.disable()
def createFish(speciesName, d, zone): filename = MODELFILE_TEMPLATE.format(speciesName) fish = vizfx.addChild(filename) fish.enable(viz.SAMPLE_ALPHA_TO_COVERAGE) fish.disable(viz.BLEND) xPos = Config.X_OFFSET_BTW_ZONES * zone + d[0] fish.setPosition( [xPos, d[1], d[2]] ) fish.setEuler( [d[3],d[4],d[5]] ) fish.setScale( [d[6]]*3 ) fish.visible(viz.OFF) return fish
def loadOceanScene(): # Add environments. globals_oa.ocean = vizfx.addChild(globals_oa.FILE_PATH_TO_FLOOR) globals_oa.ocean.setAnimationSpeed(0.5) if globals_oa.sfLevel == SHOCK_FACTOR_LEVELS['LOW']: globals_oa.terrainZone1 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE1_LOW) globals_oa.terrainZone3 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE3_HIGH) print "Zone 1 model loaded = " + str(globals_oa.FILE_PATH_TO_ZONE1_LOW) print "Zone 3 model loaded = " + str(globals_oa.FILE_PATH_TO_ZONE3_HIGH) elif globals_oa.sfLevel == SHOCK_FACTOR_LEVELS['HIGH']: globals_oa.terrainZone1 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE1_HIGH) globals_oa.terrainZone3 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE3_LOW) print "Zone 1 model loaded = " + str(globals_oa.FILE_PATH_TO_ZONE1_HIGH) print "Zone 3 model loaded = " + str(globals_oa.FILE_PATH_TO_ZONE3_LOW) globals_oa.terrainZone2 = vizfx.addChild(globals_oa.FILE_PATH_TO_ZONE2) globals_oa.currentZoneNumber = 1 userheight = globals_oa.head.getPosition()[1] globals_oa.user.setPosition(ZONE1_POS[0], userheight, ZONE1_POS[2]) #Init VFX worldvizcode.initialize() #Release the porgyyyyyyy schooling.initialize() #underwater collision transport_vhil.initializeOceanFloorCollision() transport_vhil.initializeOceanSurfaceCollision()
def floatersGo(): global mole4, mole5, mole6, mole7, mole8, mole9, mole10, mole11, moleculeList mole4 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE1) moleculeList.append(mole4) mole4.setPosition([-.2,2.9,0]) mole4.setEuler([0,-90,0]) mole4.setScale([3,3,3]) mole4.setAnimationSpeed(2) mole5 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) moleculeList.append(mole5) mole5.setPosition([-.2,2.9,0]) mole5.setEuler([90,-90,0]) mole5.setScale([3,3,3]) mole5.setAnimationSpeed(2) mole6 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE1) moleculeList.append(mole6) mole6.setPosition([-.2,2.9,0]) mole6.setEuler([180,-90,0]) mole6.setScale([3,3,3]) mole6.setAnimationSpeed(2) mole7 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) moleculeList.append(mole7) mole7.setPosition([-.2,2.9,0]) mole7.setEuler([-90,-90,0]) mole7.setScale([3,3,3]) mole7.setAnimationSpeed(2) mole8 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) moleculeList.append(mole8) mole8.setPosition([-.2,2.9,0]) mole8.setEuler([-45,-90,0]) mole8.setScale([3,3,3]) mole8.setAnimationSpeed(2) mole9 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) moleculeList.append(mole9) mole9.setPosition([-.2,2.9,0]) mole9.setEuler([45,-90,0]) mole9.setScale([3,3,3]) mole9.setAnimationSpeed(2) mole10 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) moleculeList.append(mole10) mole10.setPosition([-.2,2.9,0]) mole10.setEuler([-135,-90,0]) mole10.setScale([3,3,3]) mole10.setAnimationSpeed(2) mole11 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) moleculeList.append(mole11) mole11.setPosition([-.2,2.9,0]) mole11.setEuler([135,-90,0]) mole11.setScale([3,3,3]) mole11.setAnimationSpeed(2)
def addHiddenSnailInZone3(): global species, nodesToHuntForEachSpecies, nodeNamesToHuntForEachSpecies, numObjectsToFind, nameOfHiddenSnailInZone3, nodeOfHiddenSnailInZone3 nameOfHiddenSnailInZone3 = 'ocinebrina edwardsii' nodeOfHiddenSnailInZone3 = vizfx.addChild(globals_oa.FAUNA_DIRECTORY + globals_oa.SNAIL, pos=globals_oa.ZONE3_POS) nodeOfHiddenSnailInZone3.visible(False) species.append(nameOfHiddenSnailInZone3) nodesToHuntForEachSpecies[nameOfHiddenSnailInZone3] = [] nodeNamesToHuntForEachSpecies[nameOfHiddenSnailInZone3] = [] nodesToHuntForEachSpecies[nameOfHiddenSnailInZone3].append(nodeOfHiddenSnailInZone3) nodeNamesToHuntForEachSpecies[nameOfHiddenSnailInZone3].append(nameOfHiddenSnailInZone3) numObjectsToFind.append(1)
def initAvatars(scene=viz.MainScene): avatars = [] for d in AVATAR_DATA: avatar = vizfx.addChild(d.file, scene=scene) pos, ori = Seats.getseatplacement(d.seat) avatar.setPosition(pos) avatar.setEuler(ori) avatar.state(d.state) avatar.stateNum = d.state # TODO: Extend .state method to do this? avatar.teleSeatIDs = d.teleSeatIDs avatar.story = d.story avatars.append(avatar) return avatars
def goSpecialMole(): global specialMole yield viztask.waitTime(1) specialMole = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE3) specialMole.setPosition([-1.33023,0.35456,-0.04151]) specialMole.setScale([4,4,4]) lowPolyMole = specialMole.getChild('singleCO2_noAnimation.OSGB') lowPolyMole.disable(viz.RENDERING) path = viz.addAnimationPath() path.addControlPoint(0, pos=[-1.33023,0.35456,-0.04151], euler=(90,0,0), scale= ([4,4,4])) path.addControlPoint(1, pos=[-1,0.4, 0], euler=(45,0,0), scale = ([4,4,4])) path.addControlPoint(2, pos=[-0.8,0.9,0.1], euler=(0,0,0), scale = ([4,4,4])) path.addControlPoint(3, pos=[-0.4,1.3,0.2], euler=(90,0,0), scale = ([4,4,4])) pathLink = viz.link(path, specialMole) path.play()
def loadStuff(): globals_oa.loadScavengerHuntAssetsCalled = True # globals_oa.basket = vizfx.addChild(EQUIPMENT_DIRECTORY + 'diveBasketslate.osgb') #globals_oa.basket = vizfx.addChild(EQUIPMENT_DIRECTORY + 'diveBasket.osgb') #globals_oa.basket.setScale([0.75, 0.85, 0.75]) old basket scale, no shelf globals_oa.basket.setScale([0.65, 0.75, 0.65]) globals_oa.basket.billboard(viz.BILLBOARD_YAXIS) globals_oa.slate = globals_oa.basket.getChild('Slate_New.OSGB') # globals_oa.slate = vizfx.addChild(EQUIPMENT_DIRECTORY + 'Slate_New.osgb') # globals_oa.slate.visible(False) global pics pics = [] pics.append( viz.addTexture('resources/Ocinebrina Edwardsii_Zone' + str(globals_oa.currentZoneNumber) + '.png') ) pics.append( viz.addTexture('resources/Octopus_2D.png') ) pics.append( viz.addTexture('resources/Eel_2D.png') ) pics.append( viz.addTexture('resources/seagrass.jpg') ) # Get picture of seagrass global time_text time_text = viz.addText3D('', pos = [0, 0, 0]) time_text.visible(False) global count_text1 global count_text2 global count_text3 global quad1 global quad2 global quad3 quad1 = viz.addTexQuad(size = 0.15) quad2 = viz.addTexQuad(size = 0.15) quad3 = viz.addTexQuad(size = 0.15) count_text1 = viz.addText('found: 0') count_text2 = viz.addText('found: 0') count_text3 = viz.addText('found: 0') # quad1.disable(viz.LIGHTING) # quad2.disable(viz.LIGHTING) # quad3.disable(viz.LIGHTING) quad1.disable(viz.FOG) quad2.disable(viz.FOG) quad3.disable(viz.FOG) hideBasketAndStuffAttachedToIt()
def floatersGo(): mole4 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE1) mole4.setPosition([-.2,2.9,0]) mole4.setEuler([0,-90,0]) mole4.setScale([3,3,3]) mole4.setAnimationSpeed(2) mole5 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole5.setPosition([-.2,2.9,0]) mole5.setEuler([90,-90,0]) mole5.setScale([3,3,3]) mole5.setAnimationSpeed(2) mole6 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE1) mole6.setPosition([-.2,2.9,0]) mole6.setEuler([180,-90,0]) mole6.setScale([3,3,3]) mole6.setAnimationSpeed(2) mole7 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole7.setPosition([-.2,2.9,0]) mole7.setEuler([-90,-90,0]) mole7.setScale([3,3,3]) mole7.setAnimationSpeed(2) mole8 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole8.setPosition([-.2,2.9,0]) mole8.setEuler([-45,-90,0]) mole8.setScale([3,3,3]) mole8.setAnimationSpeed(2) mole9 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole9.setPosition([-.2,2.9,0]) mole9.setEuler([45,-90,0]) mole9.setScale([3,3,3]) mole9.setAnimationSpeed(2) mole10 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole10.setPosition([-.2,2.9,0]) mole10.setEuler([-135,-90,0]) mole10.setScale([3,3,3]) mole10.setAnimationSpeed(2) mole11 = vizfx.addChild(globals_oa.FILE_PATH_TO_MOLECULE2) mole11.setPosition([-.2,2.9,0]) mole11.setEuler([135,-90,0]) mole11.setScale([3,3,3]) mole11.setAnimationSpeed(2)
def initAvatars(scene=viz.MainScene): avatars = [] for d in AVATAR_DATA: avatar = vizfx.addChild(d.file, scene=scene) isChild = True if d.name == 'son/father' else False pos, ori = Seats.getseatplacement(d.seat, 1, isChild) avatar.setPosition(pos) avatar.setEuler(ori) avatar.state(d.state) avatar.stateNum = d.state # TODO: Extend .state method to do this? if d.name == 'son/father': avatar.story = avatars[2].story else: avatar.story = viz.addAudio(d.story) avatar.name = d.name avatar.done = d.done avatar.setScale([d.scale,d.scale,d.scale]) avatars.append(avatar) return avatars
def addFishes(self): self.fishes = [] fish_root = viz.addChild('art/environment/floater.osgb') fish_root.angle = 30 fish_root.setPosition(0, -100, 0) self.fishes.append(fish_root) fishToAdd = self.numFish + 1; for angle in self.angularOffsets: fishToAdd -= 1 if (self.numFish != DEFAULT_NUM_FISH and fishToAdd >= (self.numFish * .9)): continue #FISH EULER NEEDS TO BE SET IN INSPECTOR fish = vizfx.addChild(self.FISH_FILE, parent=fish_root) if (self.modScale): mult = vizmat.GetRandom(-.1, .2) * (self.numFish - fishToAdd) fish.setScale(1 + mult,1 + mult,1 + mult,viz.ABSOLUTE) fish.angle = angle / (vizmat.GetRandom(self.numFish - 2, self.numFish + .5)) self.updateFishCircle(fish) self.fishes.append(fish) if (fishToAdd == 0): break
def load(sceneRef=viz.MainScene): global SCENE SCENE = sceneRef # TODO: Add scene params to all viz.add calls, etc in this module and submodules SCENE = viz.MainScene # TODO: Add scene params to all viz.add calls, etc in this module and submodules # add bus BUS_OBJ_SCALE = 0.0365 BUS_OSGB_SCALE = 35 curscale = BUS_OSGB_SCALE bus = vizfx.addChild("bus_obj/Bus_Final_Scene2.osgb", scene=SCENE) bus.setScale([curscale] * 3) # bus.emissive(1,1,1) # Makes it look like daytime # add bus ambient noise global ambientAudio ambientAudio = viz.addAudio("Audio/Bus Scene/BusAmbientNoise.wav") # add homeless avatars global avatars avatars = avatarconfigStories.initAvatars(SCENE) # nodes to be removed at the end of the bus scene global toRemove toRemove = getRemoveNodes(bus) # make exit sign a node for selection to allow for ending the scene. exit = bus.getChild("Plane007") exit.name = "exit" exit.done = False avatars.append(exit) # init Avatar Stories and narration AvatarStories.init(avatars, toRemove, ambientAudio, SCENE) # BusLighting.addLighting(SCENE) BusLighting.addStreetlights(SCENE) global toggleBusLightsOnKeyPress toggleBusLightsOnKeyPress = vizact.onkeydown("z", BusLighting.toggleBusLighting)
def main(): # Initialize window viz.setMultiSample(8) viz.go() # Setup SteamVR HMD hmd = steamvr.HMD() if not hmd.getSensor(): sys.exit('SteamVR HMD not detected') # Setup navigation node and link to main view navigationNode = viz.addGroup() viewLink = viz.link(navigationNode, viz.MainView) viewLink.preMultLinkable(hmd.getSensor()) # Load environment gallery = vizfx.addChild('gallery.osgb') gallery.hint(viz.OPTIMIZE_INTERSECT_HINT) gallery.disable(viz.SHADOW_CASTING) #Create skylight viz.MainView.getHeadLight().disable() sky_light = viz.addDirectionalLight(euler=(0,90,0), color=viz.WHITE) sky_light.setShadowMode(viz.SHADOW_DEPTH_MAP) #Start the Leap Motion! handGenerator = LeapListener() handGenerator.startLeap(hmd.getSensor()) # Add controllers for controller in steamvr.getControllerList(): # Create model for controller controller.model = controller.addModel(parent=navigationNode) controller.model.disable(viz.INTERSECTION) viz.link(controller, controller.model)
def initAvatars(initFlag=vizconnect.INIT_INDEPENDENT, initList=None): #VC: place any general initialization code here rawAvatar = vizconnect.getRawAvatarDict() #VC: initialize a new avatar _name = 'main_avatar' if vizconnect.isPendingInit('avatar', _name, initFlag, initList): #VC: init the raw object if initFlag&vizconnect.INIT_RAW: #VC: set some parameters head = False rightHand = True leftHand = False torso = False lowerBody = False rightArm = False leftArm = False #VC: create the raw object # base avatar import vizfx avatar = vizfx.addChild('mark.cfg') avatar.disable(viz.LIGHTING) avatar._bodyPartDict = {} avatar._handModelDict = {} avatar.visible(head, r'mark_head.cmf') avatar.visible(rightHand, r'mark_hand_r.cmf') avatar.visible(leftHand, r'mark_hand_l.cmf') avatar.visible(torso, r'mark_torso.cmf') avatar.visible(lowerBody, r'mark_legs.cmf') avatar.visible(rightArm, r'mark_arm_r.cmf') avatar.visible(leftArm, r'mark_arm_l.cmf') rawAvatar[_name] = avatar #VC: init the wrapper (DO NOT EDIT) if initFlag&vizconnect.INIT_WRAPPERS: vizconnect.addAvatar(rawAvatar[_name], _name, make='WorldViz', model='Mark') #VC: init the gestures if initFlag&vizconnect.INIT_GESTURES: #VC: need to get the raw input dict so we have access to signals import vizact rawInput = vizconnect.getConfiguration().getRawDict('input') #VC: gestures for the avatar's r_hand import hand def initHand(): sensor = hand.InputSensor() rawAvatar[_name].handSensor = sensor sensor.createHandRenderer = lambda *args,**kw: hand._InputDeviceRenderer(*args,**kw) def appliedGetData(): #VC: set the mappings for the gestures if rawInput['r_hand_input'].getState()&viz.MOUSEBUTTON_LEFT:# make=Generic, model=Mouse Buttons, name=r_hand_input, signal=Left Mouse Button return (hand.GESTURE_FIST, False, False)# GESTURE_FIST #VC: end gesture mappings return (hand.GESTURE_FLAT_HAND,False,False) sensor.getData = appliedGetData return hand.AvatarHandModel(rawAvatar[_name], left=False, type=hand.GLOVE_5DT, sensor=sensor) rightHand = initHand() rawAvatar[_name]._bodyPartDict[vizconnect.AVATAR_R_HAND] = rightHand rawAvatar[_name]._handModelDict[vizconnect.AVATAR_R_HAND] = rightHand #VC: gestures may change the raw avatar, so refresh the raw in the wrapper vizconnect.getAvatar(_name).setRaw(rawAvatar[_name]) #VC: init the animator if initFlag&vizconnect.INIT_ANIMATOR: # need to get the raw tracker dict for animating the avatars from vizconnect.util.avatar import animator from vizconnect.util.avatar import skeleton # get the skeleton from the avatar _skeleton = skeleton.CompleteCharactersHD(rawAvatar[_name]) #VC: set which trackers animate which body part # format is: bone: (tracker, parent, degrees of freedom used) _trackerAssignmentDict = { vizconnect.AVATAR_HEAD:(vizconnect.getTracker('head_tracker').getNode3d(), None, vizconnect.DOF_6DOF), vizconnect.AVATAR_R_HAND:(vizconnect.getTracker('r_hand_tracker').getNode3d(), vizconnect.AVATAR_HEAD, vizconnect.DOF_POS), } #VC: create the raw object _rawAnimator = animator.Direct(rawAvatar[_name], _skeleton, _trackerAssignmentDict) #VC: set animator in wrapper (DO NOT EDIT) vizconnect.getAvatar(_name).setAnimator(_rawAnimator, make='Virtual', model='Direct') #VC: set the parent of the node if initFlag&vizconnect.INIT_PARENTS: vizconnect.getAvatar(_name).setParent(vizconnect.getTransport('main_transport')) #VC: set the name of the default vizconnect.setDefault('avatar', 'main_avatar') #VC: return values can be modified here return None
import vizcam import vizproximity import vizinfo import transport_vhil, globals_oa, boatscene import viztask NUM_H2O = 4 NUM_CO2 = 4 ####Need to create method that duplicates, adds, and randomizes locations of molecules dependent on these values notGrabbed = True notReleased = True molecExited = False co2molecule = vizfx.addChild('./art/Isolated Molecules CO2.OSGB') h2omolecule = vizfx.addChild('./art/Isolated Molecules H2O.OSGB') co2models = [co2molecule] h2omodels = [h2omolecule] for i in range(1,NUM_CO2): co2models.append(co2molecule.copy()) for i in range(1,NUM_H2O): h2omodels.append(h2omolecule.copy()) print "created co2models", co2models '''#Main Setup Functions headLight = viz.MainView.getHeadLight() headLight.disable() viz.clip(.01,1000)'''
# viz.go(viz.FULLSCREEN) # tracker = vizcam.addWalkNavigate(moveScale=1.0) # tracker.setPosition([0,1.8,0]) # viz.link(tracker,viz.MainView) # viz.mouse.setVisible(True) # あたり判定をセット manager = vizproximity.Manager() manager.setDebug(viz.ON) #Add main viewpoint as proximity target target = vizproximity.Target(viz.MainView) manager.addTarget(target) lab = vizfx.addChild('resource/modern_lobby.osgb') lab.enable(viz.LIGHTING) # これをすると部屋が暗くなる(ライトが有効になる?) # マウスの設定 viz.mouse.setTrap(True) #アプリ内でしか動けなくなる viz.mouse.setCursor(True) # カーソルが見えるかどうか viz.mouse.setOverride(viz.ON) # 鳩のロゴ pigion_proj = vizfx.addProjector(texture=viz.addTexture('resource/pigion.jpg'), pos=(-8, 3.5, 3.0), euler=(-90, 0, 0), blend=vizfx.BLEND_AVERAGE) vizfx.getComposer().addEffect(pigion_proj.getEffect())
import vizconnect import viztask WATER_RISE_EVENT = viz.getEventID('WATER_RISE_EVENT') HEIGHT = 0 obj_vis = [] waterSound = viz.addAudio('fountain.wav') waterSound.volume(0.2) choirLocation = viz.addGroup(pos=[0.2, 1.8, -53]) choir_sound = choirLocation.playsound('art/scene1 choir.wav') #scene1 = viz.addChild('art/scene1.osgb') scene1 = vizfx.addChild('art/scene1.osgb') viz.MainView.getHeadLight().disable() # Disable ambient light vizfx.setAmbientColor(viz.BLACK) #scene1.disable(viz.LIGHTING) scene1.hint(viz.ALLOW_NPOT_TEXTURE_HINT) scene1.disable(0x3000) #Disable clip plane on model waterPlane = vizshape.addPlane(size=[400, 400], pos=[0, 0.2, 0]) obj_vis.append(scene1) obj_vis.append(waterPlane) sky = viz.addChild('sky_day.osgb') obj_vis.append(sky) #bellSensorLocation = viz.addGroup(pos=[0.74121, 0.61385, -74.72057])
viz.eyeheight(ct.EYE_HEIGHT) # add code to navigate through scene via "wasd" control vizcam.WalkNavigate(forward='w', backward='s', left='a', right='d', moveScale=ct.MOVE_SPEED, turnScale=1.0) #Get a handle to the main headlight and disable it headLight = viz.MainView.getHeadLight() #headLight.disable() # add sky sky = viz.add('sky_day.osgb') # add grassy plane surrounded by mountains gScale = 1.1 hills = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'hills.osgb')) hills.setScale(gScale, gScale, gScale) # add invisible cylinder to prevent subjects from leaving the arena invWall = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'cylinderWall.osgb')) invWall.setScale(gScale, gScale, gScale) invWall.disable(viz.RENDERING) #invWall.alpha(0) # add flags redBanner = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'redFlag.osgb' )) redBanner.setScale(gScale, gScale, gScale) blueBanner = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'blueFlag.osgb')) blueBanner.setScale(gScale, gScale, gScale)
def __init__(self, groundPlotUrl, widthInMeter, mapUrl, squaresPerMeter=1, offsetX=0, offsetY=0): self.offsetX = offsetX self.offsetY = offsetY # add map self.world = World.World() #viz.collision(True) self.station = vizfx.addChild(mapUrl) self.station.anisotropy(8) self.initSignList() # transform user position according to mapper matrix self.currentUserPosition = viz.MainView.getPosition() self.currentUserPosition[0] = self.currentUserPosition[0] self.currentUserPosition[2] = self.currentUserPosition[2] # ## Scene dynamic viz.cam.setHandler(RadARCameraHandler) viz.callback(viz.UPDATE_EVENT, self.updatePosition) viz.callback(viz.EXIT_EVENT, self.onExit) # create a matrix to detext obstacles for navigation calculaton self.mapper = Mapper(widthInMeter, squaresPerMeter) self.mapper.createMatrix(groundPlotUrl) print("Image was mapped to matrix") self.trainManager = TrainManager(self, self.station.getChild("Train")) self.trainManager.addTrains() # Add running clocks self.clock = StationClocks(self.trainManager) self.clock.loadModel(self.station) self.clock.setCurrentTime() # add people into station model self.peopleAdder = PeopleAdder(self) self.peopleAdder.addPeople() self.peopleAdder.addPeopleAtfixedPosition() self.trainManager.sendTrainByIdx(11) self.trainManager.sendTrainByIdx(10) # Necessary for navigation self.aStar = AStar() # Navigation objects self.navigationObj = viz.addChild(self.NAVIGATION_SYMBOL) self.poiObj = viz.addChild(self.POI_SYSMBOL) # Productivity item objects self.cashMachineObject = viz.addChild(self.CASH_MACHINE) self.snackMachineObject = viz.addChild(self.SNACK_MACHINE) self.postBoxObject = viz.addChild(self.POST_BOX) self.mode = self.RECOMMENDER_ABIDANCE_MODE self.navigateTo = None viz.playSound('../resources/Hauptbahnhof.wav', viz.LOOP)
def initAvatars(initFlag=vizconnect.INIT_INDEPENDENT, initList=None): #VC: place any general initialization code here rawAvatar = vizconnect.getRawAvatarDict() #VC: initialize a new avatar _name = 'main_avatar' if vizconnect.isPendingInit('avatar', _name, initFlag, initList): #VC: init the raw object if initFlag & vizconnect.INIT_RAW: #VC: set some parameters head = False rightHand = False leftHand = False torso = False lowerBody = False rightArm = False leftArm = False #VC: create the raw object # base avatar import vizfx avatar = vizfx.addChild('mark.cfg') avatar._bodyPartDict = {} avatar._handModelDict = {} avatar.visible(head, r'mark_head.cmf') avatar.visible(rightHand, r'mark_hand_r.cmf') avatar.visible(leftHand, r'mark_hand_l.cmf') avatar.visible(torso, r'mark_torso.cmf') avatar.visible(lowerBody, r'mark_legs.cmf') avatar.visible(rightArm, r'mark_arm_r.cmf') avatar.visible(leftArm, r'mark_arm_l.cmf') rawAvatar[_name] = avatar #VC: init the wrapper (DO NOT EDIT) if initFlag & vizconnect.INIT_WRAPPERS: vizconnect.addAvatar(rawAvatar[_name], _name, make='WorldViz', model='Mark') #VC: init the animator if initFlag & vizconnect.INIT_ANIMATOR: # need to get the raw tracker dict for animating the avatars from vizconnect.util.avatar import animator from vizconnect.util.avatar import skeleton # get the skeleton from the avatar _skeleton = skeleton.CompleteCharactersHD(rawAvatar[_name]) #VC: set which trackers animate which body part # format is: bone: (tracker, parent, degrees of freedom used) _trackerAssignmentDict = { vizconnect.AVATAR_HEAD: (vizconnect.getTracker('head_tracker').getNode3d(), None, vizconnect.DOF_POS), vizconnect.AVATAR_R_HAND: (vizconnect.getTracker('r_hand_tracker').getNode3d(), None, vizconnect.DOF_POS), } #VC: create the raw object _rawAnimator = animator.Direct(rawAvatar[_name], _skeleton, _trackerAssignmentDict) #VC: set animator in wrapper (DO NOT EDIT) vizconnect.getAvatar(_name).setAnimator(_rawAnimator, make='Virtual', model='Direct') #VC: set the parent of the node if initFlag & vizconnect.INIT_PARENTS: vizconnect.getAvatar(_name).setParent( vizconnect.getGroup('main_display')) #VC: set the name of the default vizconnect.setDefault('avatar', 'main_avatar') #VC: return values can be modified here return None
# Add the local events (events specific to this demo) #vizconnect.go('vizconnect_config_local_events.py') # Load the vizconnect configuration. File: base_vizconnect_config2016.py vizfx.addDirectionalLight(euler=(0, 90, 0)) # Add a viewpoint so the user starts at [0,0,0]. vp = vizconnect.addViewpoint(pos=[0, 0, 0], posMode=vizconnect.VIEWPOINT_MATCH_BASE) # Enable physics so that objects may collide together. viz.phys.enable() # Add an environment model with collision mesh. env = vizfx.addChild('dojo.osgb') env.disable(viz.SHADOW_CASTING) env.collideMesh() # Add directional shadow light pointing down. light1 = vizfx.addDirectionalLight(shadow=viz.SHADOW_DEPTH_MAP, pos=[6, 3, 0], euler=(0, 45, 0)) light2 = vizfx.addDirectionalLight(shadow=viz.SHADOW_DEPTH_MAP, pos=[-6, 3, 0], euler=(90, 45, 0)) light3 = vizfx.addDirectionalLight(shadow=viz.SHADOW_DEPTH_MAP, pos=[0, 3, 6], euler=(180, 45, 0)) light4 = vizfx.addDirectionalLight(shadow=viz.SHADOW_DEPTH_MAP, pos=[0, 3, -6],
viz.eyeheight(ct.EYE_HEIGHT) # add code to navigate through scene via "wasd" control vizcam.WalkNavigate(forward='w', backward='s', left='a', right='d', moveScale=ct.MOVE_SPEED, turnScale=1.0) #Get a handle to the main headlight and disable it headLight = viz.MainView.getHeadLight() #dheadLight.disable() # add sky sky = viz.add('sky_day.osgb') # add grassy plane surrounded by mountains gScale = 1.1 hills = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'hills.osgb')) hills.setScale(gScale, gScale, gScale) # add invisible cylinder to prevent subjects from leaving the arena invWall = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'cylinderWall.osgb')) invWall.setScale(gScale, gScale, gScale) invWall.disable(viz.RENDERING) #invWall.alpha(0) # add flags banner1 = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'twoColFlags1.osgb' )) banner1.setScale(gScale, gScale, gScale) banner2 = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'twoColFlags2.osgb' )) banner2.setScale(gScale, gScale, gScale)
# add sky sky = viz.add('sky_day.osgb') # add fixation cross texture = viz.add( os.path.join(ct.PATH_TO_IMGS, 'fixationCross-01.png') ) quad = viz.addTexQuad(viz.SCREEN, align=viz.TEXT_CENTER_CENTER, pos=(0.5,0.5,0)) p = 0.05 #quad.setScale([16.0*p, 12.0*p, 1]) quad.setScale([(16.0)/2*p, 12.0*p, 1]) quad.texture(texture) # add grassy plane surrounded by mountains gScale = 1.1 hills = vizfx.addChild(os.path.join(ct.PATH_TO_OSGB, 'hills.osgb')) hills.setScale(gScale, gScale, gScale) # create new scene definition object #SceneDef = sc.SceneDefinition(); # load building nodes and place according to external txt file pBuildings = [] with open('./coords.txt') as fp: for cB in fp: # store building information in list # one row corresponds to one building: # context name x y z rotation # scale factor scFac = 60
import viz import vizact import vizproximity import vizfx import vizact scene3 = vizfx.addChild('art/scene3.osgb') scene3.hint(viz.OPTIMIZE_INTERSECT_HINT) #viz.clearcolor(viz.SLATE) obj_vis = [] obj_vis.append(scene3) scene3_music = viz.addAudio('art/scene3 paradise.wav') scene3_music.volume(1) # Get handle to starting_box object starting_box = scene3.getChild('Starting Box-GEODE') starting_box_height = 6.91645 starting_box.audio_start = viz.addAudio('sounds/platform_start.wav') starting_box.audio_running = viz.addAudio('sounds/platform_running.wav',loop=True) starting_box.audio_stop = viz.addAudio('sounds/platform_stop.wav') wallHeights = [4.91645, 14.91645, 24.91645, 34.91645, 44.91645, 54.91645, 64.91645, 74.91645, 84.91645] leftWalls = [] rightWalls = [] def lowerWalls(): for i in range(1,10): leftWallName = 'Left' + str(i) +'-GEODE' rightWallName = 'Right' + str(i) + '-GEODE'
# Vizard SteamVR debugging helper # Immo Schuetz, 2021 # [email protected] import viz import vizfx import steamvr from vizard_steamvr_debug import SteamVRDebugOverlay viz.setMultiSample(8) viz.go() # Standard SteamVR initialization hmd = steamvr.HMD() if not hmd.getSensor(): sys.exit('Vive not detected') hmd.setMonoMirror(True) navigationNode = viz.addGroup() viewLink = viz.link(navigationNode, viz.MainView) viewLink.preMultLinkable(hmd.getSensor()) # Set up a simple scene using Vizard default assets vizfx.addChild('ground_wood.osgb') vizfx.addChild('plant.osgb', pos=[0, 0, 2]) # Add the debug overlay # Press F12 to show debugger = SteamVRDebugOverlay()
import viz import vizfx import viztask viz.setMultiSample(4) viz.fov(60) viz.go() # Load model with shader effects model = vizfx.addChild('darkRoom.osgb') male= viz.add('Male/CC2_m006_hipoly_A3_v2.cfg') vizact.onkeydown('1', male.state, 1) vizact.onkeydown('2', male.state, 2) vizact.onkeydown('3', male.state, 3) male.setPosition([-1,0,-3]) male.setEuler([50,0,0]) male.state(1) female = viz.add('Female/CC2_f004_hipoly_A3_v2.cfg') vizact.onkeydown('a', female.state, 1) vizact.onkeydown('b', female.state, 2) vizact.onkeydown('c', female.state, 3) female.setPosition([4,0,3]) female.setEuler(180,0,0) female.state(4) def react(): male.state(2) wait = vizact.waittime(3)
### Vizard ### User import World import BahnhofContent ### User ### Initialisierung myWorld = World.World() viz.move(-80, 2.5, -41) #Fraport viz.collision(True) ### Initialisierung ### Scene static hbf = vizfx.addChild('FFM-HBhf.osgb') #hbf.setPosition(80, -2.5, 41) hbf.anisotropy(8) uhren = BahnhofContent.GleisUhren() uhren.loadModel(hbf) uhren.setTime(12, 20) ### Scene static ### Scene dynamic BahnhofContent.addPeople() ### Scene dynamic