blender4 parte2.ppt [modalità compatibilità] - mtcube.com · • Per fermare la caduta creiamo il...
Transcript of blender4 parte2.ppt [modalità compatibilità] - mtcube.com · • Per fermare la caduta creiamo il...
Interazione dinamica - 1• Disegno una mesh icosfera e la alzo dal piano• Nel pannello LOGIC seleziono DYNAMIC• Se fate click su P, l’oggetto cade nel vuoto perché è soggetto alla forza di
gravità, presente di default in Blender• Per fermare la caduta creiamo il pavimento (mesh PIANO). Ingrandiamolo
un po’• Il piano non fa parte del motore «fisico» ma gli oggetti reagiranno alla sua
presenza (verificate con P)• Se impostiamo il piano come corpo rigido, potrà ruotare, altrimenti potrà
muoversi ma non ruotare• Con sleeping consumerà meno risorse…• Radius è per considerare il raggio di impatto con gli oggetti• Massa: forza = massa per accelerazione (quindi massa > accelerazione <)• Damp ammortizza il movimento degli oggetti (simile a forza attrito)• RotDamp agisce in modo simile ma su rotazione• Provate a giocare con i parametri
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Interazione dinamica - 3• Ora selezioniamo la sfera e mettiamo un sensore che si attiva con la freccia
verso l’alto sulla tastiera• Aggiungiamo un controller AND• Mettiamo un attuatore MOTION e qui mettiamo FORCE a 3 per l’asse Y
globale
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Interazione dinamica - 3• Impostiamo modalità CORPO RIGIDO• ora entriamo in modalità P• Teniamo premuta la freccia verso l’alto• la sfera si sposta, ma rotolando
• Se ora facciamo click su BOUND, e lasciamo BOX nel menu che appare, la sfera, invece, scivola sulla superficie.
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Interazione dinamica – materiali 1• Ora selezioniamo la sfera, impostiamo dynamic, corpo rigido e no sleeping• La sfera cade sul piano e rimane ferma. Vogliamo farla rimbalzare.• Selezioniamo il piano e poi il pannello materiali• Add new. Nella scheda MATERIAL attiviamo DYN. • RESTITUT indica quanta energia cinetica verrà restituita all’oggetto dopo
una collisione (proprietà elastica. Interagisce con DAMP per l’oggetto). Poniamolo = 1
• FRICTION è l’attrito radente (sui libri di Fisica trovate i coefficienti di attrito di vari materiali)
• Creiamo un materiale con RESTITUTION 1 anche per la sfera• Se andate in modalità P, la sfera rimbalza sul pavimento (smorzato secondo
DAMP)
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Interazione dinamica – materiali 2• Provate con diversi oggetti con differenti valori di RESTITUTION• Sempre nei materiali vi sono altri valori. Selezioniamo la sfera e nei
materiali proviamo gli altri valori:• Fh: forza verticale. Se presente l’oggetto non toccherà gli altri oggetti (es. il
pavimento) ma resterà sospeso come su un cuscinetto d’aria. Fh(poniamolo al max = 1) agisce all’interno di un volume impostato con FhDist (mettiamolo a 3). Provate con P cosa succede
• Ora andiamo dal men materiali spostiamoci in WORLD a andiamo nella scheda Mist/star/Physi. Ci interessa GRAV (gravità): se desideriamo, giochiamo con il valore della gravità all’interno del mondo virtuale che abbiamo creato.
Ma dove sono gli effetti nella scena fisica (rendering)?Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Effetti della modalità P• Le animazioni e l’interazione le vedo, per il momento, solo in modalità P.
Non le vedo nemmeno se seleziono la modalità di visualizzazione delle curve IPO!
• In barra del menu selezionate GAME>RECORD GAME PHYSICS TO IPO• Ora se torniamo in P ed eseguiamo qualche movimento e poi premiamo
ALT-A vediamo i movimenti anche nella finestra 3D (si esce sempre con ESC). Ora avremo anche le curve IPO.
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Game stand alone• Come esportare lo scenario, comprese le risposte fisiche, come
applicazione stand alone?• Riprendo il file del cono e della sfera (prova-cono2.blend)• Nella barra dei menu: FILE>SAVE RUNTIME. Scegliere il
percorso creando una cartella apposita• Il sistema potrebbe richiedere alcune librerie (file dll) necessarie
per l’esecuzione. Ad ogni messaggio di errore, occorre tener traccia del nome della libreria richiesta, la si cerca nella cartella di installazione di blender e la si copia nella cartella del gioco
• Una volta finito, il gioco può partire: l’inquadratura è quella definita dalla telecamera impostata in blender al momento della creazione del gioco.
• La telecamera può seguire il gioco se fornita di appositi sensori, controller e attuatori
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Uso del Joystick
• Con il sensore Joystick e con un controller (and) ed un attuatore di movimento, è possibile anche usare il joystick della playstation ;)
• Al sensore joystick si possono associare:• Movimento a destra• Movimento a sinistra• Movimento in basso• Movimento in alto• Bottone (fire)
• Provate ad associare i primi 4 a movimenti, ad esempio, e l’ultimo alla rotazione.
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Sensore touch• Se abbiamo un oggetto che compie due movimenti
(esempio omino o pallina che va in avanti con il tasto freccia avanti e salta con la barra spaziatrice) e vogliamo che i movimenti siano compiuti solo quando l’oggetto tocca una superficie (esempio il pavimento) dobbiamo fare così:
• Aggiungiamo il sensore touch
• Colleghiamolo ai controller AND degli altri due movimenti. Gli attuatori saranno collegati solo quando sarà premuto uno dei due tasti sulla tastiera e contemporaneamente l’oggetto toccherà il pavimento.
• Pensate ad un oggetto che risale una scala in un gioco
• Allo stesso modo si potrà utilizzare un controller OR
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Altri attuatori interessanti
• Message: permette di inviare un messaggio che sarà ricevuto da un altro sensore
• Sound: per avviare suoni precaricati in Blender (wav)• Camera: permette ad una telecamera di seguire un
oggetto• Edit: per modificare/eliminare run time oggetti nella scena
(es. proiettili, oggetti scagliati, ecc.)• Scene: permette di controllare le scene di un gioco
• Provate….
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Raccogliere oggetti da una scena (1)• Poniamo il caso di un personaggio che deve raccogliere oggetti• Si deve agire sia sugli oggetti sia sul personaggio• Creiamo ad esempio un cilindro che può muoversi lungo gli assi globali
(sarà il personaggio) e una sfera che sarà l’oggetto da prendere• Nella logic della sfera e selezioniamo ACT e GHOST. Gli oggetti che la
toccheranno non la sposteranno• Mettiamo un sensore NEAR che si attiva quando un oggetto si avvicina
alla sfera (si può specificare la distanza di attivazione). Poniamo poi il controller AND.
• Come attuatore scegliamo EDIT OBJECT e tra le azioni possibili END OBJECT
• Quando il cilindro si avvicinerà alla sfera, questa scomparirà e sembrerà «presa» dal cilindro.
• Volendo contare gli oggetti che il cilindro «recupera» torniamo nella logic del cilindro e click su ADD PROPERTY. Scegliamo INT e diamo alla proprietà il nome RECUPERATI e lasciamo 0 di default. La proprietà successiva permette (se nel menu GAME è selezionato SHOW debug property) di vedere il valore durante il gioco
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Raccogliere oggetti da una scena (2)• Aggiungiamo alla sfera l’attuatore MESSAGE cui colleghiamo in
ingresso l’uscita dell’AND già creato (quello per il NEAR) • Nel campo SUBJECT scriviamo la frase: «uno»
• Torniamo sul cilindro e aggiungiamo un sensore, un AND e un attuatore• Come sensore mettiamo MESSAGE e nel SUBJECT mettiamo il
messaggio da catturare «uno»• L’attuatore sarà PROPERTY e nel campo PROP scriviamo ilnome della
proprietà da modificare. RECUPERATI, con ADD e 1 nel campo VALORE. In mod P, in alto a sinistra, vedremo i risultati.
Prof. R. Folgieri Realtà Virtuali aa 2010/2011
Passare a un livello successivo• Occorre cambiare scena• Introdurre un oggetto che se urtato o raggiunto scatena un evento.
L’evento sarà:• Sensore: TOUCH, con i parametri di default.• Controller: AND• Attuatore: SCENE. Vi sono più azioni possibili. Noi useremo il RIAVVIO
DEL LIVELLO, cioè RESTART (quello di default)• In modalità gioco, quando l’attore raggiungerà e toccherà l’oggetto, la
scena si riavvierà. Tutti gli oggetti torneranno alla configurazione di partenza.
Prof. R. Folgieri Realtà Virtuali aa 2010/2011