emagin z800 3d

Transcript

emagin z800 3d
REALTA’ VIRTUALI Corso di Laurea Comunicazione Digitale, Informatica, Tecnologie Musicali Prof. Raffaella Folgieri Dipartimento DEMM – Dipartimento di Economia, Management e Metodi quantitativi, Università Statale di Milano – Italy Riferimenti: ufficio: stanza 22, secondo piano DEMM via Conservatorio 7 email: [email protected] Colloqui: previo appuntamento via email Vedremo, dunque, come utilizzare uno strumento molto in uso per esperimenti che coinvolgono la VR, ovvero NeuroVR, il cui download può essere effettuato a questo link:
http://www.neurovr.org/neurovr2/index.php?option=com_frontpage
&Itemid=1
Prima di procedere, consiglio di vedere il virtual tour, a questo indirizzo: http://www.neurovr.org/neurovr2/index.php?option=com_conten
t&view=article&id=110&Itemid=60 Introduzione a NeuroVR 2.0
NeuroVR è una piattaforma gratuita, open source, di Realtà Virtuale che permette a clinici, ricercatori e non esperti di VR di modificare facilmente scene virtuali preesistenti, per impostare specifici esperimenti. La piattaforma include principalmente due componenti: il NeuroVR Editor ed il NeuroVr Player. Utilizzando il NeuroVR Editor, gli stimoli psicologici appropriati per ognuno degli scenari preimpostati possono essere scelti da un ricco database di oggetti 2D e 3D, e facilmente posti nello scenario prescelto utilizzando un’interfaccia a icone. Non sono richieste competenze di programmazione. L’altro component di NeuroVR è il Player, che permette di navigare ed intergire con gli esperimenti virtuali creati utilizzando l’Editor. Quando si avvia una simulazione, il sistema offre un insieme di features (caratteristiche) standard che contribuiscono ad incrementare il realismo della scena simulata. Queste includono le collesioni per controllare il movimento nell’ambiente, lo stile di camminata realistica, tecniche avanzate di illuminazione e lo streaming di texture video sovrapposte in trasparenza. Il player può essere configurator per due visualizzazioni di base:  Immersiva  Non immersiva La modalità immersiva permette che la scena sia visualizzata utilizzando un head‐mounted display, sia in stereoscopia che in mono. Per capire con quali head‐mounted display è compatibile NeuroVR sufficiente consultare il sito del software. Nella modalità non immersiva l’ambiente virtuale può essere mostrato utilizzando un monitor o un proiettore. L’utente può interagire con l’ambiente virtuale utilizzando sia i comandi da tastiera, sia un mouse o un joypad, a seconda della configurazione scelta. Installazione Occorre innanzitutto avere privilegi di amministratore. Il programma di installazione può essere scaricato dal sito (è necessaria la registrazione, ma il sw è gratuito). Una volta avviato il programma di installazione e accettata la Licence Agreement, tutto andà avanti autonomamente. Si può cambiare il percorso di installazione ( per default è C:\Program Files\NeuroVR) . Con Window 7 è consigliato di installare il pacchetto sotto C:\NeuroVR2 Il Launcher e il Player di NeuroVr 2.0 Il NeuroVR Launcher è il pannello di controllo che avvia la navigazione negli scenari. E’ possibile utilizzare il NeuroVR Player nel menu Start per aprire il Launcher. Prima di partire, è necessario configurare il Launcher. Per farlo, occorre un click sul bottone “ingranaggio” impostare i setting. Comparirà la finestra mostrata in figura. per Per avviare uno scenario occorre selezionare il tab ENVIRONMENT e fare doppio click su una delle scene presenti nella libreria. Attraverso i setting del Launcher è possibile personalizzare:  il Display device  il Control device  alcune opzioni di varia natura  I Display setting Per selezionare il device di visualizzazione ed la risoluzione del display, si utilizza questa finestra: Monitor: questa opzione va selezionata se si desidera avviare lo scenario un un PC con monitor standard. E’ presente anche l’opzione Fullscreen. E’ possibile, inoltre, cambiare la risoluzione dello schermo selezionandola dal menu a tendina. E’ opportuno ricordare che una risoluzione più alta significa più qualità e dettagli, ma può ridurre le performance. Head Mounted Display: questa opzione deve essere selezionata se si dispone di un HMD, di cui si può selezionare il device dalla lista che compare. Control settings Si utilizzi questa finestra per selezionare il modo di navigazione. Quando non viene utilizzato alcun HMD, è possibile scegliere di controllare il movimento sia attraverso tasstiera e mouse, sia attraversso un Joypad. Se si utilizza, invece, una HMD l’opzione è impostata automaticametne all’HMD tracker. Attualmente sono supportati I seguenti tracker:  eMagin z800.  Vuzix iWear VR920 Impostazioni varie (Miscellaneous) Audio Enabled : se selezionato il suono è disabilitato. Questa checkbox va selezionata se non si desidera udire i suoni. Camera recording: questa opzione abilita la registrazione dei movimenti dell’utente all’interno dello scenario NeuroVR. Per default questa opzione appare selezionata. Per uscire da neuroVR in modalità play, si preme il tasto ESC da tastiera. NeuroVR Player Il NeuroVR Player permette di esplorare una scena e di muoversi al suo interno, interagendo con I vari elementi. Il player non può essere lanciato direttamente ma è sempre necessario avviare prima il Launcher. Muoversi ed interagire Il Motion Model permette all’utente di camminare avanti e indietro e guardarsi attorno, sopra e sotto. A seconda dei device utilizzati per l’input, i controlli permessi sono: Tastiera + Mouse o W/S: muove forward/backward o A/D: muove left/right o Mouse Up/Down: guardare up/down o Mouse Left/Right: guardare left/right Gamepad o Left Stick Up/Down: muove forward/backward o Left Stick Left/Right: muove left/right o Right Stick up/down: guardare up/down o Right Stick Left/Right: guardare left/right Tracker + Gamepad o Left Stick Up/down: muove forward/backward o Left Stick Left/Right: muove left/right o Tracker on head: cambia vista e direzione (view direction) La velocità di navigazione è predefinita e simula la normale camminata umana. Può tuttavia essere modificata premendo V sulla tastiera ripetutamente (la velocità incrementa di 0.5). Nel camminare attraverso la scena, gli oggetti interattivi possono essere riconosciuti perché sono automaticamente evidenziati quando risultno nella parte centrale della vista. E’ possibile abilitare un marker al centro della vissta per facilitare la selezione dell’oggetto, se si usano:  Keyboard + Mouse: utilizzare la M sulla tastiera o premere il bottone return del tasstierino numerico  Gamepad: premere il bottone 4. Object selection Per selezionare un oggetto è sufficiente guardarlo. L’oggetto diviene selezionato quando si trova al centro della vista. Per attivare un oggetto basta selezionarlo con un click:  Keyboard + Mouse: premere il left button sul mouse  Gamepad: premere il button 1. Alcuni oggetti interattivi possono essere attivati automaticamente da un trigger quando l’utente è vicino all’oggetto, oppure possono essere attivati da un timer. Pick and Drop Objects Alcuni oggetti possono essere presi. Pick: Per prendere un oggetto basta selezionarlo ed attivarlo. L’oggetto sarà posto nella tray bar, come mostrato in figura. Drop: un oggetto può essere lasciato in un’area special chiamata droppable zones. E’ necessario selezionare una droppable zone semplicemente guardandola. Quando una droppable zone è al centro della vista, sarà mostrata un’icona a spillo. Per effettuare drop dell’oggetto:  Keyboard + Mouse: premere il left button del mouse sulla droppable zone  Gamepad: premere il button 1. Session Results Il Player di NeuroVr tiene traccia della posizione della telecamera durante la navigazione all'interno dell'ambiente virtuale. Quando l'utente termina una sessione VR, chiudendo il VR Player, i dati della sessione vengono archiviati nella cartella dei risultati sotto la directory di installazione. (Per esempio: c:\Programfiles\ NEURO_VR\2.0.4\results) Per ogni sessione sono generati due file Il primo file (.txt) è un file di testo che contieme la posizione della camera all’interno dell’ambiente virtuale, in una forma gabellare Il secondo file (.png) è un’immagine del percorso compiuto dalla camera durante la sessione Importante: per ottenere il risultato corretto, occorre uscire dal NeuroVR viewer utilizzando il tasto ESC sulla tastiera. NeuroVr 2.0 Editor Il NeuroVR Editor è il tool che permette la personalizzazione delle scene interattive a disposizione. Il programma può essere usato per creare completamente una nuova scena partendo da un modello, o può essere utilizzato per operare cambiamenti in una scena esistente Starting the editor E’ posssibile utilizzare lo shortcut NeuroVR2 Editor presente nel menu start. La finestra dell’Editor è divisa in 5 aree:  Toolbar: bottoni che consentono le operazioni più comuni (open, close, save) e di controllare il punto di vista della scena  3D Scene: l’area in cui è mostrata la scena  Library panel: libreria che contiene tutti gli oggetti che possono essere posti sulla scena ( oggetti 2D & 3D, ssuoni, filmati)  Outliner control: questo controllo fornisce la lista degli elementi presenti sulla scena, divisi in gruppi (2D, 3D, Video)  Property panel: è il pannello che mostra le proprietà dell’oggetto attualmente selezionato Toolbar La Editor toolbar contiene I seguenti bottoni: 1) operazioni standard effettuabili sulla scena (Open, Close, Save) New Scene (Nuova scena) Scene Browser (per caricare una scena esistente, che è possibile modificare e salvare nuovamente) Edit Scene Metadata (consente di inserire o modificare le informazioni sulla scena) Save Scene (per salvare I cambiamenti) Save Scene As (per salvare la scena con un nome diverso) 2) gestione degli oggetti Library Manager (apre il Library Manager per personalizzare la libreria di oggetti) Delete Object (per cancellare l’oggetto corrente dalla scena) Insert Object Mode (cambia il modo di inserimento: Target mode, l’oggetto sarà posto sulla scena dall’utente con il click del mouse; Camera mode: l’oggetto sarà posto sempre davanti alla telecamera) 3) personalizzazione delle viste (View) Front camera (passa a visualizzare in modo frontale) Side camera (sposta la vista lateralmente) Top camera (sposta la visualizzazione dall’alto) Perspective camera (sposta la vista secondo la prospettiva attuale della telecamera) Scene 3D E’ l’area dove viene mostrata una scena Pulsanti di navigazione  il control (ctrl) e il tasto sinistro del mouse (left mouse button). Coni il tasto destro e quello sinistro del mouse la camera si muove a destra e a sinistra.  ctrl key + left mouse button, poi muovere il mouse avanti e indietro per far muovere la camera su e giù  ctrl key + right mouse button, poi muovere il mouse per ruotare la camera  double cick con il left mouse button su un oggetto per muovere il centro di rotazione di un oggetto  usare la rotellina del mouse (mouse wheel) per zoom in e zoom out Library panel Per aggiungere nuovi elementi alla scena: Click sull’icona della Library S aprirà il library panel, in cui gli oggetti sono organizzati per tipo. A seconda di quale bottone si prema, viene cambiato il tipo mostrato: 3D objects – modelli 3D predefiniti da aggiungere alla scena Image objects – per aggiungere immagini alla scena Sound objects ‐ per aggiungere suoni Videos – per aggiungere video. Per ogni tipo, gli elementi sono ulteriormente divisi in gruppo. Vi è infatti un TAB per ogni gruppo. Per inserire un oggetto dalla libreria nella scena 3D, occorre seguire i passi: 1. Nella toolbar selezionare il modo di inserimento target 2. Click con il tasto sinistro del mouse su un oggetto scelta dalla library panel 3. Tascinare l’oggetto sulla scena 3D (apparirà un’icona target) 4. Mantenendo il bottone premuto, muovere il mouse e scegliere dove posizionare l’oggetto 5. Quando è stata scelta la posizione, rilasciare il bottone del mouse Custom objects Vi sono altri bottoni che permettono di creare ed aggiungere nuovi oggetti di questo tipo: Add/Move the camera La prima volta che il pulsante viene utilizzato una telecamera predefinita verrà aggiunta alla scena. Una scena potrebbe avere solo una telecamera, che è il punto di vista iniziale della scena. Dopo la prima volta il pulsante sposta la telecamera alla posizione corrente. Add a new light Permette di impostare le proprità di un oggetto di illuminazione. Add a text object permette di cambiare il colore del testo Add a locator object Un locator identifica un posto nella scena. I locator sono utili per la definizione dei tigger. Per inserire uno di questi oggetti, seguire la procedura: 1. Nella toolbar selezionare il modo camera insertion mode 2. Muoversi nella scena 3D per posizionare l’oggetto 3. Click sui bottoni per aggiungere l’oggetto desiderato (camera, light, text o locator) 4. L’oggetto sarà posto nella scena 3D di fronte alla telecamera Add/Replace enviroments Con questa opzione è possibile importare nella sscena un ambiente predefinito. Outliner control Fornisce una lista di tutti gli elementi che sono stati aggiunti ad una scena. Gli elementi sono raggruppati per tipo. I gruppi a dispossizione sono: 3D objects, Lights, Camera, Images, Sounds, Videos, Texts, Locators, Scenes. Ogni oggetto può essere selezionato con un semplice click. Property panel Il property panel mostra e controlla gli attributi dell’oggetto selezionato. Contiene due tab:  General, che contiene informazioni statiche sull’oggetto: nome, posizione nella scena e altri attributi che dipendono dall’oggetto  Actions, azioni associate all’oggetto Vediamone alcuni elementi. General: Translation Per muovere l’oggetto nella scena bisogna impostare le coordinate x, y e z. Per usare il mouse per muovere l’oggetto, è sufficiente fare click che farà comparire la guida mostrata in figura: sul bottone Per muovere l’oggetto, a questo punto, basta trascinare una delle frecce: Red – muove lungo l’asse X Green ‐ muove lungo l’asse Y Blue ‐ muove lungo l’asse Z General: Rotation Per ruotare l’oggetto bisogna impostare le coordinate x, y, z. , e Per usare il mouse per ruotare l’oggetto, click sul bottone muovere le guide che appariranno: Per ruotare l’oggetto basta agire su uno dei cerchi, secondo la convenzione: Red ruota attorno all’asse X Green ruota attorno all’asse Y Blue ruota attorno all’asse Z General: Resize Per ridimensionare l’oggetto è sufficiente impostare le coordinate x, y e z. Un valore più grande di 1 lo ingrandirà, uno più piccolo lo ridimensionerà. Per fare la stessa cosa con il mouse, click sul bottone Apparirà: Trascinare uno dei segmenti per ridimensionare l’oggetto in una dimensione: Red resize lungo l’asse X Green resize lungo l’asse Y Blue resize lungo l’asse Z General: Name Utilizzare questo campo per assegnare un nome significativo all’oggetto. Actions Il tab Actions contiene tutte le informazioni sulle caratteristiche di azione dell’oggetto, per cui viene utilizzato il meccanismo di trigger. Un trigger è una regola composta da una condizione e da una azione eseguita quando la condizione diviene vera. Vi sono diverse condizioni e diverse azioni che possono essere utilizzate. Ne vediamo nelle tabelle che seguono. Scene Browser Il browser delle scene mostra le scene disponibili da sistema. Le scene sono raggruppate in gruppi:  Community Island  Experience Island  Learning Island  Default  Environment Per passare da un gruppo all’altro occorre utilizzare I tab. Metadata Editor Il Metadata Editor mostra le informazioni che riguardano la scena. Alcuni attributi sono a sola lettura perché gestiti automaticamente dal NeuroVR Editor:  Object ID: scene unique identifier automatically generated by the Editor  Object Type: type of the object: a scene  Created: creation date and time  Modified: last modification date and time  Content URL: position of the scene on the file sytem  Triangles: number of triangles in the scene  Authoring Tools: tool used to create the scene Altri attributi possono essere modificati.  Title: name of the scene  Category: category of the scene. The scene browser use this info to divide scenes in groups  Icon: the image (png, bmp, jpg, tga, gif) connected with the title of the scene. This field is mandatory.  Author: who made the scene  Comments: free description of the scene  Copyright: owner of the scene  Source data: additional information field  Revision: revision number of the scene  Unit: additional information field  UpAxis: vertical axis. Usually the Z axis but depend on the scene.  IsEnvironments: a special checkbox to mark the scene as environment. Se tutti i valori sono correttamente inseriti, un’etichetta blu recante la scritta OK apparirà accanto al bottone di OK. Library Manager NeuroVR ha una libreria predefinita che contiene una serie di oggetti 2D e 3D che possono essere utilizzati per personalizzare la scena. è il tool per gestire tale libreria, che si può estendere Il includendo (si possono anche cancellare) altri dati. La finestra del Library Manager è divisa in 3 aree:  Imported Objects: area used to add new contents to the library  Library Contents: shows the actual contents of the library  Object Metadata: displays the information of the current object Imported Objects Quest’area è utilizzata per estendere la libreria di NeuroVR L’operazione di import viene effettuata in tre passi: 1. Per primo è necessario importare i contenuti in un “bucket” temporaneo 2. Poi l’utente può rivedere ogni oggetto nel bucket e modificarne i metadati 3. Infine gli oggetti sono posti nella libreria L’interazione viene realizzata attraverso i bottoni: Import Mette i nuovi contenuti selezionati nel Bucket. I formati supportati sono i seguenti: oggetti 3d: .ive, .osg Video: .mov, .3gp immagini: .pneg, .bmp. .jpj, .tga, .gif suoni: .wav (suggested compression: Wave PCM signed 16 bit 44100Hz 705kbps) Archive: .sz Delete imported object per rimuovere un oggetto dal bucket. Finalize object Porta un oggetto dal Bucket alla Library. Importante: Non cancellare gli oggetti dalla posizione originaria, o non saranno più a disposizione di NeuroVR (è un import logico) Export current object in a package con questa opzione, è possibile ssalvare una scena in un package, cioè un file con estensione .sz Questa opzione è utile per creare una copia di backup della scena e distribuirla. Per riprendere un backup o importare un package creato da un altro utente, utilizzare il bottone
Backup Entire Library contents Questa opzione consente di effttuare il backup di tutta la libreria in un singolo package. Triggers Il concetto di trigger è molto importante, perché permette di definire la logica interna delle scene. Un trigger è una regola composta da due parti:  una condizione  una lista di azioni il sistema valuta continuamente la scena quando una condizione appare durante l’uso del player e, quando la condizione è soddisfatta, NeuroVR 2.0 eseguirà la lista di azioni fissata preventivamente. Quando un trigger viene eseguito, si dice che è "fired". Nella vita di ogni giorno abbiamo molti esempi di trigger, quali: If it's raining, I'll take an umbrella In NeuroVr, un trigger può, per esempio, essere: If the object "door ring" is clicked then play the "knock knock" sound Un semplice trigger come questo: If the object "door ring" is clicked then play the "knock knock" sound può essere diviso in 3 parti: 1. un possessore (owner) del trigger: the "door ring" 2. una condizione (condition): the "door ring" is clicked 3. una azione (action): play a sound Per implementare questo trigger è necessario seguire i tre passi: 1) selezionare un oggetto che ssarà il proprietario del trigger 2) aggiungere un trigger OnClick 3) aggiungere una azione Play Audio Selezionare un oggetto proprietario del trigger Per l’azione “campanello che suona” click sul campanello nella scena 3D. Aggiungere un OnClick trigger Per aggiungere un trigger selezionare la Action Tab nel property panel. Dal menu che compare, selezionare "On click trigger". Aggiungere una Play Audio action Aprire la drop list "ADD an action..." drop down list e selezionare l’azione "Play Audio" . Nel campo Target dell’azione Play Audio action selezionare il nome di un suono. La lista drop down list mostrerà tutti i suoni a disposizione nella scena. Se la lista è vuota, occorrerà aggiungere suoni alla scena dalla libreria. Definire un Trigger I trigger vengono specificati utilizzando il NeuroVR Editor. Un trigger appartiene sempre ad un oggetto in una scena, così per introdurre un trigger è necessario selezionare un oggetto. Utilizzando l’action tab nel property panel si selezioni una condizione dalla lista a tendina. Sarà aggiunto un nuovo trigger all’oggetto: Ogni trigger ha due proprietà standards:  Enabled on startup. Definisce se il trigger è attivo all’avvio dello scenario. E’ possibile abilitare i trigger in un secondo tempo.  Iterations. Definisce quante volte un trigger può essere attivato. Valori possibili sono:  Persistent: infinite times  1: just one time  2: two times Nota: un oggetto può possedere più trigger Condizioni I possibili tipi di condizioni per i trigger sono:  On mouse over  On click  Proximity  Timed  Function Key Ogni condizione ha le sue proprietà. On mouse over, ad esempio, è soddisfatta quando l’utente muove il centro dello schermo sopra l’oggetto che possiede il trigger. Per interagire con questo tipo di oggetti può esssere utile attivare il al centro dello schermo marker On click, è soddifatta quando l’utente effettua un click sull’oggetto. Keyboard + Mouse: press the left button of the mouse Gamepad: press button 1. Proximity, si attiva se l’utente è entro una certa distanza dall’oggetto. Ci sono due proprietà addizionali per questa condizione: Distance: definisce il raggio di una circonferenza centrata nell’oggetto Outbound.: ‐ quando non è selezionato, la condizione è soddisfatta quando l’utente è all’interno della circonferenza ‐ quando è selezionato, la condizione è soddisfatta se l’utente è nell’area al di fuori della circonferenza Nell’immagine che segue l’area verde è quella in cui la condizione del trigger è soddisfatta Timed: per creare un trigger basato su eventi temporizzati Offset definisce un confine di tempo dall’inizio della scena (in millisecondi) Period definisce l’intervallo tra le essecuzioni dei trigger. Se è impostato su Persistent o a un numero più grande di 1, il trigger sarà eseguito dopo il periodo indicati in millisecondi trascorsi dopo il trigger precedente. Function Key è soddisfatta quando un tasto funzione è premuto sulla tastiera (da F1 a F12). Actions Per aggiungere una azione ad un trigger, basta selezionare il tipo di azione dalla lista a scorrimento. L’azione sarà aggiunta con valori di default. Azioni possibili sono:  Show  Play video  Play audio  Play animation  Change trigger status  Move to  Quit scene  Pick Object Vediamone alcune… Show cambia lo stato di visibilità di un oggetto Play video esegue il video selezionato. E’ possibile indicare quante volte si vuole effettuare il play ed utilizzare i tasti di avvio, stop, pausa. Play audio esegue l’audio selezionato. Anche in questo caso è possibile specificare il numero di volte che si desidera eseguire la traccia audio ed utilizzare i tasti di avvio, stop, pausa. Play animation avvia l’animazione di un oggetto 3D. La lista Target mostra la lista di tutti gli oggetti 3D che hanno un’animazione Start specifica da quale punto deve partire l’animazione. Lenght ne specifica la durata. Loop può essere: NumOf times (quante volte deve essere esguita); Loop (ripetuta indefinitamente). Per esempio un oggetto porta può contenere una singola animazione con la porta che parte chiusa, poi diviene aperta e poi si chiude nuovamente. In questo caso può essere utile separare l’animazione di apertura della porta dalla chiusura, per effettuarne il play in momenti diversi. Change trigger status cambia lo stato di un trigger La condizione iniziale è decisa dalla proprietà Enabled on start‐up. Durante il play lo stato di un trigger può essere modificato da altri triggermediante l’azione Chage trigger status. Move to muove l’oggetto in una posizione specifica La lista Locator mostra tutti i punti locators nella scena corrente Set Property cambia il valore di una proprietà dell’oggetto. Per tutti I tipi di oggetti è possibile cambiare:  Rotation (x, y, z): change object orientation  Scale (x, y, z): change object dimension  Translation (x, y, z): change object position Altri tipi di proprietà sono disponibili a seconda del tipo di oggetto: Quit scene chiude il NeuroVR Player. Pick Object permette di prendere l’oggetto e metterlo nella tray bar Trigger status Ogni trigger ha uno stato che può essere impostato a enabled o disabled.  Enabled trigger fa sì che il trigger venga eseguito quando le condizioni sono soddisfatte.  Disabled triggers non sono valutati anche se le condizioni sono soddisfatte Questa proprietà è utile per creare comportamenti complessi: per esempio quando si vuole che una porta passi dallo stato aperta a quello chiusa con il click del mouse. Per esseguire questo compito, creeremo due trigger sullo stesso oggetto: il Trigger1 per aprire la porta e il Trigger2 per chiuderla. I due trigger ono entrambi del tipo OnClick ma sono abilitati uno alla volta. Quando la scena inizia, la porta è chiusa. Il TriggerOnClick1 è abilitato perché è definite con la Enabled on start‐up option selezionata, ed il TriggerOnClick2 è disabilitato perché Enable on start‐up non è selezionata. Quando l’utente effettua il click sulla porta, sarà avviato solo il Trigger1. Quando il Trigger1 viene avviato, compie tre azioni: 1) esegue metà animazione per aprire la porta 2) disabilita il Trigger1 (se stesso) perché ora la porta è aperta e non si desidera che questo trigger venga avviato nuovamente 3) infine abilita il Trigger2 Ora la porta è aperta, il Trigger1 è disabilitato e il Trigger2 è abilitato. Quando l’utente fa di nuovo click sulla porta, sarà eseguito il Trigger2 Quando il Trigger2 viene eseguito, compie tre azioni: 1) avvia la seconda parte dell’animazione, chiudendo la porta 2) disabilita il Trigger2 perché ora la porta è chiusa 3) abilita il Trigger1 Il sistema è ora tornato alle condizioni iniziali. Macro Il meccanismo di trigger è molto flessibile, ma per alcune operazioni è meglio utilizzare le macro. Set an object as pickable crea un trigger On click con una singola azione pick Set an object as invisible crea a Timed trigger eseguito solo una volta all’inizio di una Show action per nascondere l’oggetto corrente Set the open/Close animation Può essere utilizzata con gli oggetti porta. Crea due trigger On click: il primo esegue l’animazione di aperture della porta ed il secondo della chiusura della porta. I trigger saranno abilitati uno alla volta. Personalizzare un ambiente In NeuroVr sono già presenti ambienti personalizzati quali un appartamento, una piazza, un supermarket o un ufficio. Utilizzando l’Editor, è possibile personalizzarli per scopi specifici. E’ possibile creare una sscena basata sull’ambiente prescelto oppure fare l’edit dell’ambiente selezionato. Creare una scena basata sull’ambiente è forse la scelta migliore, perché fornisce più possibilità d’uso futuro. Creare una scena basata su un ambiente Invece di cominciare ogni volta daccapo, un utente può importare un ambiente ed utilizzarlo come putno di partenza. I passi sono semplici: ‐ Premere per creare una nuova scena per importare un ambiente ‐ Premere Successivamente è possibile iniziare la personalizzazione aggiungendo nuovi oggetti alla scena e creando tutti i trigger necessary. L’ambiente è importato in modalità read‐only così l’utente non potrà modificarlo accidentalmente. Operando in questo modo, l’utente può creare scene multiple basate sullo stesso ambiente. Le scene condividono lo stesso ambiente. Questo significa che un cambiamento nell’ambiente è visibile in tutte le scene. Edit di un ambiente A volte si rende necassario, per esempio per cancellare un oggetto o per aggiungerne uno utile in varie scene. Per fare l’edit di un ambiente, occorre aprirlo utilizzando lo scene browser Prima di iniziare, è bene fare una copia di backup dell’ambiente, utilizzando il bottone SaveAs il Library Manager. o creando un package utilizzando Definire una Drop zone Una drop zone è un’area special nella scena, in cui l’utente può mettere gli oggetti contenuti nella cassetta (tray). Ogni oggetto 3D (ad esempio un tavolo) può essere definite drop zone utilizzando la proprietà Drop zone nel property panel. Quando un oggetto è designato come Drop zone l’intero oggetto diverrà “magnetico”: l’operazione di drop può essere effettuata su ogni superficie dell’oggetto e non solo sulla sua superficie superiore. Per esempio definendo un Freezer come drop zone, è possibile attaccare souvenir magnetici sulla sua superficie. A volte è necessario definire come drop zone ssolo la sssuperficie superiore di un oggetto, ad esempio quando si lavora con un tavolo. Per fare questo è necessario porvi un oggetto e nasconderlo, ovvero: 1. mettere un cubo sulla superficie superiore del tavolo 2. ridimensionare il cubo per coprire la superficie del tavolo 3. Rendere il cubo molto sottile (z= 0,001) 4. Definire il cubo come drop zone 5. Nascondere il cubo utilizzando la Set invisible macro In questo modo la zona “droppable” sarà il cubo, ma ussando un cubo ssottile e taparente, perfettamente attaccato alla superficie del tavolo, sembrerà che quest’ultima sia la drop zone. Estendere la Contents Library La libreria di NeuroVR library contiene una serie di oggetti 2D e 3D che possono essere utilizzati per personalizzare le scene. Questa libreria può essere estesa, aggiungendo altri elementi. 2D elements Gli elementi 2D sono figure che possono essere aggiunti alla scena attraverso l’Editor. Vi sono alcune regole di base da seguire:  Le immagini devono essere in uno dei seguenti formati: jpeg, gif o png.  Le immagini possono avere un canale di trasparenza  Le immagini devono essere salvate in un file che aiuti a riconsoscerle. L’Editor userà questo nome come quello di defolt per aggiungerle alle scene  L’uso di una risoluzione molto alta potrebbe influire negativamente sulle performance del sistema, per cui è consigliabile ussare una risoluzione limitata. 3D elements L’applicazione NeuroVR 2.0 è basata sulla piattaforma open source Delta3D (www.delta3d.org) per cui tutti gli oggetti creati con tale piattaforma sono compatibili con NeuroVR 2.0 (OSG, IVE). Se si hanno oggetti 3D in differenti formati (per esempio max, br6, bs ), occorre convertirli nel formato OpenSceneGraph. Un modo possibile è il seguente:  Aprire l’applicazione utilizzata per creare l’oggetto (ad esempio 3D Studio Max, Bryce, Maya)  Se richiessto, installare un Export Add On per aggiungere il supporto al formato OpenSceneGraph  Esportare l’oggetto in formato .osg oppure .ive Video elements La libreria NeuroVR contiene anche elementi video. Se ne possono aggiungere altri, ricordando che: I file video devono essere nel formato QuickTime (.mov), versione 7.1.0 o successive. I filmati possono avere un canale (alpha) di trasparenza Anche in questo caso un risoluzione troppo alta potrebbe essere perniciosa. Si consiglia di usare video con una risoluzione di 320x240 pixels o simili, per un buon bilanciamento di qualità e performance. Altri strumenti per esperimenti di EEG e BCI Una volta condotto l’esperimento e acquisiti i dati, i risultati dovranno essere analizzati. Si possono usare vari strumenti, a partire dallo stesso Excel. Per l’analisi del segnale, va ricordato il software LabView, di cui abbiamo la licenza (chiedere al docente) Ancora, per l’analisi è possibile utilizzare l’opensource EEGLab (http://sccn.ucsd.edu/eeglab/ ) Su EEG/BCI/OpenVibe/NeuroVR/EEGLab è possibile incentrare il progetto per l’esame.