Model Viewer

The Model Viewer lets you place 3D models into a folder and quickly view them

Either create a new folder in the "collections" folder in the model viewer and add your models there, or add it to an existing collection.  You can simply drag and drop the model into a collection and now it is ready to be viewed in VR.  The script is set up by default for "collection1" to be swapping the environment, and "collection2" to swap a model in the environment. 

For viewing a series of models in a Multi-User session you can either use the Model Viewer (choose Change_Models_Server.py and Change_Models_Client.py, then run as you would normally, or you can use the SwappingModels_server.py and SwappingModels_client.py. For the SwappingModels scripts you just place the path to which models you want to use in the list at the top of the server and client script:

modelFiles = ['utils/resources/environment/DeckersOffice.OSGB','utils/resources/environment/Stimulus.osgb']

For the Model Viewer collections method, see below.  For both cases you can use the 'v' key (which can be modified) to cycle between models, or have them change on a modifiable timer (in the mediaConfig file in the same folder. 

To view the model collection, run ModelViewer.py, choose your hardware and choose the collection you want to view

Press either the 'v' key (this can be configured to be a different button or event in the mediaConfig.py file) , use the optional scene controller tool by grabbing the tool with your controller trigger or left mouse button and  clicking on the button that says "Next Model", or have the models change on a timer by setting Timer=True in the mediaConfig.py file and choosing how many seconds to have it model play after TimerValue = . 

Navigation and Interactivity

See this page for navigation and button mappings

https://sightlab.worldviz.com/controls 

Grabbing Objects and Adding as Objects of Interest for View Count and Fixation Duration Information

To grab objects  and add them as objects of interest you can just put the name of the environment you want into the "environ_dict "dictionary in the mediaConfig.py file followed by the name of the object

Example: 

environ_dict = {'lab_empty.osgb':['basketball1'],'ShowRoom_empty.osgb':['basketball']}

Note: If using this dictionary it is necessary that any models have a tranform node added above the group node in Inspector (see screenshot)

#MediaViewer Settings


swapMediaKey = 'v' #Choose which key will advance the media, if not using a timer

mediaFolderPath = 'mediaPath'

collectionsPath = 'collections'

#collectionsPath = 'utils/resources/'

#mediaFolderPath = 'C:/Users/sepsi/Documents/WorldViz Work/Sightlab_Multi_User_SVN/trunk/Sightlab_Multi_User_1/ExampleScripts/360 Multiple Videos/mediaPath'

BIOPAC_ON = False

videoRecording = 0 #Choose whether to record a video, videos are saves in the utils/recordings folder

Timer =False #Choose whether to advance the videos on a timer or a keypress. Set to true for the timer

TimerValue = 5  #Choose how many seconds to run the timer

cycleMedia = True

startExperimentKey = ' ' #choose which key will start the experiment

endExperimentKey = ' ' #choose which key will end the experiment

randomize = False

environments = ['']

grabbableObjects = ['']

environ_dict = {'lab_empty.osgb':['basketball1']

,'ShowRoom_empty.osgb':['basketball'],'chair.osgb':['chair'],'crate.osgb':['crate_group'],'guitar.osgb':['guitar_group']}

Controls for running in a Projection VR system with PPT wand:

Use the middle button to cycle between models/environments

Trigger to interact and pick up objects