Esempio n. 1
0
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)
Esempio n. 3
0
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
Esempio n. 4
0
	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)	
Esempio n. 5
0
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
Esempio n. 6
0
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()
Esempio n. 7
0
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)
Esempio n. 10
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
Esempio n. 12
0
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()
Esempio n. 13
0
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()
Esempio n. 15
0
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()
Esempio n. 16
0
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()
Esempio n. 18
0
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
Esempio n. 19
0
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()
Esempio n. 20
0
 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)
Esempio n. 21
0
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)
Esempio n. 22
0
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
Esempio n. 23
0
 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()
Esempio n. 24
0
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()
Esempio n. 25
0
 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
Esempio n. 27
0
	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
Esempio n. 28
0
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)
Esempio n. 30
0
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)'''
Esempio n. 32
0
# 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())
Esempio n. 33
0
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])
Esempio n. 34
0
 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)
 
Esempio n. 35
0
    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
Esempio n. 37
0
# 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],
Esempio n. 38
0
 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)
         
Esempio n. 39
0

# 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
Esempio n. 40
0
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'
Esempio n. 41
0
# 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()
Esempio n. 42
0
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)
Esempio n. 43
0
### 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