riproduzione virtuale degli interni dell`edificio del
Transcript
riproduzione virtuale degli interni dell`edificio del
ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA SEDE DI CESENA FACOLTA' DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN SCIENZE DELL'INFORMAZIONE RIPRODUZIONE VIRTUALE DEGLI INTERNI DELL’EDIFICIO DEL CORSO DI LAUREA Relazione finale in: INTELLIGENZA ARTIFICIALE Relatore: Presentata da: Prof. Giorgio Casadei Correlatore: Dr. Stefano Cacciaguerra Sessione III Anno Accademico 2006/2007 Marco Tassani Ai miei genitori, Massimo e Patrizia, che mi hanno permesso nello studio, come nella vita, di crescere con serenità. A mia sorella Linda che mi ha aiutato a superare i momenti difficili. A Cecilia, per l’affetto sempre vivo e per il supporto in questi primi tre anni di Noi. Ai miei nonni Rina, Alvaro e Pino che hanno seguito con passione i miei anni di studio e vivono in prima persona i miei impegni. Ai miei Zii Milena e Daniele e i miei cugini Enrico e Annalisa che sono un punto di riferimento fondamentale per me. Al Lombo, grazie per la collaborazione in questi anni di studio e per l’amicizia dimostrata. A Pira, Teo, Bega, Claudia, Lele, Para,Monica e tutti gli altri che mi hanno aiutato a portare al termine gli studi. A Stefano, un sentito ringraziamento per la pazienza dimostrata, l’umanità e la fondamentale collaborazione scientifica. Sommario Sommario 1 INTRODUZIONE.............................................................................................. 7 1.1 CONTRIBUTI ........................................................................................................... 8 1.2 PROMEMORIA ........................................................................................................ 8 2 I MONDI VIRTUALI ...................................................................................... 11 2.1 I MUD.................................................................................................................. 12 2.2 I MMORPG ......................................................................................................... 14 2.3 ETICA NEI MONDI VIRTUALI ............................................................................... 15 2.3.1 Mondi Virtuali di Educazione ...................................................................... 16 2.3.2 Mondi Virtuali di Intrattenimento................................................................ 17 2.3.3 Mondi Virtuali di Simulazione ..................................................................... 19 2.3.3.1 Metaplace.......................................................................................................... 19 2.3.3.2 The Sims Online ............................................................................................... 20 2.3.3.3 Second Life ....................................................................................................... 22 3 PROGETTAZIONE ......................................................................................... 27 3.1 CREAZIONE DEL CORSO DI LAUREA CON 3DS MAX ............................................ 29 3.2 DIFFERENZE TRA 3D STUDIO MAX E SECOND LIFE ............................................ 31 3.3 INTRODUZIONE ALLA COSTRUZIONE IN SECOND LIFE ......................................... 33 3.3.1 Le primitive .................................................................................................. 34 3.3.1.1 Le Megaprims ................................................................................................... 35 3.3.1.2 Sculpted Prims .................................................................................................. 36 3.3.2 Le operazioni basilari .................................................................................. 37 3.3.3 Proprietà delle Primitive ............................................................................. 39 3.3.3.1 La Scheda General ............................................................................................ 39 3.3.3.2 La Scheda Object .............................................................................................. 40 1 Sommario 3.3.3.3 La Scheda Features............................................................................................42 3.3.4 Le Textures .................................................................................................. 43 3.3.5 Assemblare gli Oggetti ................................................................................ 45 3.3.6 Salvare gli oggetti ....................................................................................... 46 3.3.7 L’inventario ................................................................................................. 46 3.4 OSSERVAZIONE E MODELLAZIONE ..................................................................... 47 4 IMPLEMENTAZIONE ..................................................................................... 51 4.1 RIDUZIONE DELLE PRIMITIVE .............................................................................. 51 4.1.1 I Muri........................................................................................................... 52 4.2 PRIMFFICENCY .................................................................................................... 54 4.2.1 Scale ............................................................................................................ 55 4.2.2 Le finestre .................................................................................................... 57 4.2.3 Le porte interne ........................................................................................... 59 4.2.3.1 Lo script delle Porte ..........................................................................................60 4.2.4 Altre porte.................................................................................................... 63 4.3 SVILUPPO DELL’EDIFICIO .................................................................................... 64 4.3.1 La struttura base ......................................................................................... 66 5 CASI DI STUDIO............................................................................................ 69 6 CONCLUSIONI .............................................................................................. 81 6.1 SVILUPPI FUTURI ................................................................................................. 82 BIBLIOGRAFIA ................................................................................................ 83 2 Sommario Immagini Sommario Immagini 2.1 Avatar al PC ............................................................................................. 12 2.2 Esempio di MUD...................................................................................... 13 2.3 Immagine tratta da World of Warcraft ...................................................... 15 2.4 Immagine tratta da Ultima Online............................................................. 17 2.5 Immagini di Ogame e Gladiatus................................................................ 18 2.6 Logo di Metaplace .................................................................................... 19 2.7 Logo di The Sims Online .......................................................................... 21 2.8 Logo di Second Life ................................................................................. 22 2.9 Finestra di caratterizzazione del proprio avatar ......................................... 23 2.10 Collaborazione tra due Avatar in costruzione .......................................... 24 2.11 Dieci Linden Dollar ................................................................................ 25 2.12 Conferenza su Second Life ..................................................................... 26 3.1 Palazzo Mazzini Marinelli ........................................................................ 27 3.2 Immagini di Max Payne 2 e Half Life 2 .................................................... 29 3.3 Immagine tratta dal film Matrix ................................................................ 30 3.4 Foto del Corso di Laurea con 3Ds Max e con Second Life ........................ 32 3.5 Icona Build Disattivata ............................................................................. 33 3.6 Menu a disco ............................................................................................ 33 3.7 Interfaccia di creazione oggetto ................................................................ 34 3.8 Esempio di Megaprim............................................................................... 35 3.9 Finestra di sculpting.................................................................................. 36 3 Sommario Immagini 3.10 Scale formate con le sculpt...................................................................... 37 3.11 Tool di modifica oggetto ......................................................................... 38 3.12 La scheda General................................................................................... 39 3.13 La Scheda Object .................................................................................... 40 3.14 Oggetto twistato...................................................................................... 41 3.15 Scheda Features ...................................................................................... 42 3.16 Editor di Texture..................................................................................... 43 3.17 Esempio di Offset, ottenuto facendo scorrere la stessa texture ................. 44 3.18 Esempio di blocco di prims prima e dopo il linking................................. 45 3.19 Esempio di salvataggio di oggetto ........................................................... 46 3.20 Inventario su Second Life........................................................................ 47 3.21 Planimetria dell’edificio.......................................................................... 48 3.22 Misura della superficie di alcune stanze del Secondo Piano..................... 48 4.1 Particolare sulle smussature dei muri ........................................................ 52 4.2 Differenza tra due possibili muri ............................................................... 53 4.3 Esempio d'incastro di porte ....................................................................... 53 4.4 Esempio di Struttura di un castello con un numero limitato di prims ......... 55 4.5 Due scalini formati con una sola prim ....................................................... 55 4.6 Gli scalini applicati al nostro progetto ....................................................... 56 4.7 Esempio di creazione scalini in piani successivi ........................................ 56 4.8 Finestra Costruita con otto Primitive ......................................................... 57 4.9 Stessa finestra con cinque prim ................................................................. 58 4.10 Effetto cornice ........................................................................................ 58 4.11 Porta Interna ........................................................................................... 59 4.12 Apertura della porta ................................................................................ 61 4.13 Chiusura Porta ........................................................................................ 62 4.14 Porta interna laboratori............................................................................ 63 4.15 Prim ottenuta con Path e Hollow ............................................................. 64 4.16 Esempio di costruzioni con Texture di planimetria .................................. 64 4.17 Immissione di Guida ............................................................................... 65 4.18 Creazione guida in Gimp......................................................................... 65 4.19 Operazione di ghigliottina ....................................................................... 66 4.20 Esempio di blocco con texture................................................................. 66 4 Sommario Immagini 4.21 Blocchi con le caratteristiche dei piani intermedi .................................... 67 4.22 Fase della creazione della struttura di base .............................................. 67 4.23 Pavimentazione del Piano Terra.............................................................. 68 4.24 Pavimento Graduato nella SandBox Denmark International .................... 68 5.1 Scale reali con corrimano.......................................................................... 70 5.2 Scale su Second Life................................................................................. 70 5.3 Corridoio con porta a vetri ........................................................................ 71 5.4 Corridoio con porta a vetri su Second Life ................................................ 72 5.5 Porta dell’Atrio al Piano terra ................................................................... 73 5.6 Distributori automatici.............................................................................. 73 5.7 Distributori automatici nella realtà............................................................ 74 5.8 Confronto tra archi.................................................................................... 74 5.9 Porta esterna ai Laboratori Superiori......................................................... 75 5.10 Inizio della costruzione degli interni del piano terra ................................ 76 5.11 Immagine degli interni............................................................................ 76 5.12 Vista all’inizio della costruzione del Primo Piano ................................... 77 5.13 Particolare sulla costruzione degli interni................................................ 77 5.14 Interni dell’edificio ................................................................................. 78 5.15 Primo piano in sezione............................................................................ 78 5.16 Vista posteriore degli interni ................................................................... 79 5.17 Struttura completa con particolare sugli interni ....................................... 79 5.18 Interni con selezione ............................................................................... 80 5 Introduzione 1 Introduzione Il termine “Mondo Virtuale” indica una realtà simulata, capace di mettere in comunicazione i computer di tutto il mondo in un unico Network e di permettere agli utenti di interagire tra loro attraverso i propri “avatar”. La tecnologia ha permesso di sviluppare mondi Virtuali tridimensionali, in cui utenti connessi da ogni parte del pianeta possono esplorare zone e scambiarsi informazioni. L’Avatar è la rappresentazione virtuale dell’utente e può essere modificato dal possessore dell’account, in modo da personalizzare il più possibile il proprio “Io Virtuale”. L’ambiente di sviluppo utilizzato nel nostro progetto è stato Second Life, un mondo virtuale tridimensionale multi-utente online creato nel 2003 dalla società americana Linden Lab. Questo metamondo è il “Social Environment” per eccellenza, la sua prerogativa è permettere agli utenti, che si affacciano a questa realtà, di interagire con altri Avatar e sviluppare una vita simile a quella reale. Il metamondo, infatti, fornisce ai “residenti” gli strumenti per creare e aggiungere contenuti grafici: oggetti, fondali, audiovisivi. La peculiarità di Second Life è quella di essere stato creato interamente dagli utenti, il motto di questo ambiente virtuale è, infatti, “Our world, your imagination”. Una caratteristica unica in second Life consiste nel dare la possibilità agli utilizzatori di usufruire dei diritti d'autore sulle proprie creazioni. Grazie a questa opportunità possiamo assistere ogni giorno a migliaia di compravendite di oggetti tra residenti: un vero e proprio business che ha come moneta virtuale il Linden Dollar. 7 Capitolo 1 1.1 Contributi Il punto focale di questo lavoro è la progettazione e la realizzazione di una struttura online che permetta ai futuri studenti universitari di interagire e collaborare in un mondo virtuale. La rete, infatti, sta cominciando ad essere percepita sempre meno come tecnologia e sempre più come servizio. Oggi comunicare usando Internet è diventata un’abitudine, grazie alla velocità della trasmissione d’informazioni e alla sua forte accessibilità. Il punto di forza della rete è di poter “incontrare”, scambiare informazioni e collaborare in tempo reale con utenti di tutto il mondo, rimanendo comodamente seduti a casa propria. Queste considerazioni ci suggeriscono una riflessione sulla possibilità di rendere disponibile uno strumento per realizzare l’edificio dell’università virtuale, simulato via rete, anziché descriverlo attraverso pagine web. Diviene necessaria la possibilità di fare interagire lo studente con un opportuno ambiente virtuale che ne simuli il contesto tipico: una sorta di Corso di Laurea Virtuale (i.e. CdL Virtuale) che l’utente può frequentare comodamente seduto a casa sua. L’ambiente deve essere più interattivo di un portale e deve dare al visitatore la percezione di trovarsi in un vero e proprio labirinto di stanze tematiche. Le stanze rappresentano i differenti spazi del CdL Virtuale come le aule, i laboratori, gli uffici dei docenti e le segreterie. L’utente attraverso l’avatar potrà maturare esperienze e raffigurarsi all’interno del corso di laurea. La possibilità di interagire eventualmente con altri giocatori promuove lo studio di comportamenti sociali umani supportando una nuova forma di comunicazione. In questo ambiente, l’utente deve poter esprimere se stesso lasciando una propria traccia indelebile che va dal commento delle attività svolte fino alla proposta di progetti da realizzare all’interno dell’ambito tematico del CdL stesso. Questo strumento dovrebbe promuovere la capacità di lavorare in gruppo e la possibilità di sperimentare una fase progettuale delle soluzioni. Pertanto, l’utente sarebbe spronato dal sistema e dai suoi compagni virtuali a scrivere un contributo comprensibile ed attuabile. Come l’attuale Web permette di configurare un server per condividere documenti di testo, immagini, video, e audio, così, dovrà essere possibile attivare un gestore del CdL Virtuale dove inserire nuove porzioni di spazio (come aule, laboratori, uffici, punti ricreativi) per l’interazione tra gli avatar e l’ambiente. In questo modo, si vuole ripresentare l’idea che sottende alla possibilità di accedere alle risorse 8 Introduzione del WWW, tramite browser, usufruendo opportunamente di interfacce 3D che permettano la navigazione all’interno di mondi virtuali. 1.2 Promemoria Andiamo a descrivere gli argomenti trattati nei prossimi Capitoli: • Nel Capitolo 2 viene affrontata la storia dei Mondi Virtuali e la loro distinzione in mondi di Educazione, Intrattenimento e Simulazione. Vengono descritte, inoltre, le motivazioni per cui abbiamo scelto Second Life come ambiente di sviluppo. • Nel Capitolo 3 vengono affrontati gli aspetti progettuali della nostra Tesi con particolare importanza riguardo le possibilità di creare e modellare oggetti in Second Life. • In seguito, nel Capitolo 4, abbiamo affrontato i problemi inerenti allo sviluppo, la necessità di avvalerci del numero minore possibile di primitive attraverso la primfficiency e le fasi della costruzione. Inoltre viene rappresentata nel dettaglio la funzione che ci permette di animare le porte nel progetto. • Nel Capitolo 5 abbiamo confrontato alcuni particolari del nostro progetto con la realtà e riportato le differenze ed i limiti di Second Life . • Il Capitolo 6 conclude questo studio di Tesi e propone alcuni sviluppi futuri del progetto realizzato. 9 I Mondi Virtuali 2 I Mondi Virtuali Un mondo virtuale è una realtà simulata, basata sui computer, creata affinché gli utenti possano abitarla e interagire tra loro. L’espressione “realtà virtuale” può essere erroneamente considerata un ossimoro; occorre invece chiarire che quando usiamo il termine virtuale, intendiamo sottolineare che questi fenomeni sono strutturati sul modello costituito dalla realtà fisica. I vari collegamenti fisici avvengono realmente nel Cyberspazio, ovvero nella dimensione immateriale che mette in comunicazione i computer di tutto il mondo in un unico network e permette agli utenti di interagire tra loro. Il termine trae origine dalla fantascienza cyberpunk, corrente letteraria e artistica degli anni ottanta, che descriveva il Cyberspazio come una serie di realtà virtuali condivise da utenti profondamente immersi in tali dimensioni. Oggi per cyberspazio è comunemente inteso il "mondo di Internet" in senso generale [CYB05]. Nei mondi virtuali troviamo uno “spazio virtuale”, che non è uno spazio fisico, ma è strutturato in modo simile ad esso. All’interno dello spazio virtuale possono nascere relazioni analoghe a quelle che istituiamo abitualmente in un mondo reale: relazioni quali vicinanza e lontananza, sinistra e destra, sopra e sotto. Come il nostro corpo fisico può spostarsi in uno spazio reale, così una sua rappresentazione (o Avatar) può spostarsi all'interno dello spazio virtuale, avvicinandosi o allontanandosi dai luoghi e dagli oggetti che vi si trovano. L'avatar è un'immagine scelta per rappresentare la propria utenza in community, luoghi di aggregazione, discussione, o di gioco on-line. La parola nel 11 Capitolo 2 gergo di internet si riferisce alla rappresentazione digitale di chi sta visitando l'ambiente. 2.1 Avatar al PC Questi mondi virtuali traevano ispirazione dai giochi di ruolo da tavola, come Dungeons & Dragons, che proprio negli anni ‘70 avevano raggiunto una notevole popolarità. La vera innovazione nel settore dei mondi virtuali si ebbe nel 1978, quando nell’Università di Essex, in Inghilterra, fece la comparsa il primo Multi-User Dungeon (MUD), ideato da R. Trubshaw. Quest’applicazione era composta unicamente da pagine di testo, che permettevano agli utilizzatori di spostarsi in zone virtuali diverse e di dialogare tra loro. La comparsa della prima World Wide Web favorì lo sviluppo di questo tipo di mondo, riuscendo a coinvolgere utenti provenienti da vari Paesi in un unico ambiente virtuale. Tra i primissimi mondi virtuali citiamo MUD creato nel 1978 da Roy Trubshaw e Richard Bartle e Zork, distribuito dalla Infocom. 2.1 I MUD Il termine MUD identifica una categoria di giochi di ruolo eseguiti su Internet da più utenti attraverso il PC. Ogni utente controlla un personaggio che si muove in un mondo virtuale organizzato in stanze e zone, interagisce con i personaggi degli altri utenti o con i BOT (i.e. agenti) e progredisce (acquisendo abilità). Questa tecnologia è stata resa possibile grazie all’avvento dei modem per il collegamento “in rete” e ad una notevole diminuzione del prezzo del personal computer. 12 I Mondi Virtuali I MUD possono essere testuali o grafici e sono orientati al combattimento o alla socializzazione con altri utenti. Riassumendo un MUD è un programma per computer nel quale gli utenti possono connettersi, giocare ed esplorare nuovi mondi. 2.2 Esempio di MUD Un MUD Grafico è un MUD che utilizza la computer grafica per rappresentare parte degli ambienti in cui si svolge la simulazione. Naturalmente i primi esemplari di questa categoria erano sviluppati con una grafica a due dimensioni, come possiamo notare nella Fig. 2.1, i primi mondi virtuali tridimensionali, infatti apparvero una decina di anni dopo, negli anni ’90. In questi mondi ogni utente controlla un proprio Avatar attraverso il quale può muoversi, parlare con altri personaggi, esplorare aree, risolvere enigmi, evitare trappole e a volte avere anche una propria dimora dove riposare e riporre gli oggetti. Uno dei primi MUD grafici fu Habitat, scritto nel 1985 da Randy Farmer e Chip Morningstar per la Lucasfilm. L’evoluzione dei MUD ha portato alla nascita di nuovi ritrovati, sempre più tecnologicamente avanzati e interattivi, tra questi citiamo i MUSH e i MUCK. I MUSH (multi-user shared habitat) derivano dai MUD e risalgono ai primi anni '90. Sono più orientati all'interpretazione rispetto ai MUD classici, infatti i giocatori 13 Capitolo 2 sono molto attenti a creare i propri personaggi il più accuratamente possibile, per personalizzare maggiormente la loro vita virtuale.. I MUCK (Multi User Chat Kingdom) derivano anch’essi dai MUD, ma enfatizzano l'interazione tra gli utenti piuttosto che il compiere azioni o porre domande. Sono in sostanza delle Chat ambientate in mondi virtuali che favoriscono lo scambio d’informazioni e il dialogo tra utenti di tutto il mondo [MU02]. 2.2 I MMORPG L’evoluzione odierna dei MUD è rappresentata dai MMORPG. Il termine identifica un gioco di ruolo in rete, nel quale migliaia di giocatori possono interagire interpretando personaggi che si evolvono insieme al mondo persistente che li circonda ed in cui vivono. Il genere dei MMORPG diventa veramente popolare nel 1997, quando negli Stati Uniti nasce Ultima Online, una simulazione tridimensionale della vita medievale, creata da Richard Garriot. Ultima Online conterà fino a 160mila abbonati che pagano dieci dollari a testa per far parte di quel mondo, ripartiti su vari server che possono ospitare 16mila giocatori ciascuno. Il gioco ha come personaggi nobili che si occupano di politica, artigiani che curano il commercio e soldati che garantiscono la sicurezza. A governare il tutto c’è la figura di un monarca: Lord Bruitisi, che naturalmente è lo stesso Garriot [MON06]. Molto comune in questo tipo di giochi è l'ambientazione fantasy: il mondo è spesso popolato da diverse razze (elfi, orchi, nani, umani), che possono essere scelte dal giocatore e che costituiscono fazioni nemiche in guerra tra loro. L'eterna contrapposizione tra bene e male è rappresentata principalmente dalla lotta di giocatori contro i mostri, ma in ogni MMORPG c'è un obiettivo che va al di là del semplice player versus monster (PvM, giocare contro il mostro). I mostri, infatti, rappresentano il mezzo per far crescere di livello il proprio personaggio, ogni volta a che un utente ne sconfiggerà uno, avrà diritto a punti esperienza, che aumenteranno le capacità dell‘avatar. Come in un mondo reale ci sono delle eccezioni: esistono player, infatti, che si accontentano di collezionare oggetti rari. 14 I Mondi Virtuali L’obiettivo finale è quello di acquisire più capacità sugli altri player, in modo da ottenere un predominio territoriale; 2.3 Immagine tratta da World of Warcraft 2.3 Etica nei Mondi Virtuali Sono decine di migliaia le persone che ogni giorno dedicano il loro tempo a questo tipo di attività su Internet, il cui successo è dovuto soprattutto alla presenza delle comunità on-line. In un mondo virtuale un gruppo di giocatori è spesso organizzato in “clan” o in “gilde”, questo favorisce l’aggregazione e il senso di appartenenza, creando un forte legame fra gli utenti. Questo legame tende a protrarsi nel tempo; spesso accade che i clan per rimanere uniti si trasferiscano in massa su altri giochi, oppure si incontrino fuori dal gioco, nella vita reale. Secondo il sociologo Canadese De Kerckhove, l’autentico uomo virtuale è quello "consapevole del fatto che il mondo virtuale che egli contribuisce a fondare stando nella rete è nello stesso tempo un mondo reale". Lo stesso De Kerckhove sostiene che la virtualità telematica si compone di tre elementi essenziali, che ne costituiscono una sorta di “grammatica”: la connettività, l’ipertestualità e l’interattività. A parere del Sociologo, il terzo elemento è di gran lunga il più importante: “Quello che 15 Capitolo 2 integrando gli altri due fa diventare reale il virtuale e, per così dire, restituisce una corporeità a colui che viaggia sulla rete”. Sempre secondo De Kerckhov, “la virtualità è l’esempio palmare della connessione tra cervello fisico e mente immateriale, cui le reti riescono a dare consistenza; ma è anche luogo d’incontro fra persone, nel quale un immaginario diventa sempre più reale” [DEIA4]. Con il passare del tempo e la nascita di nuove realtà virtuali, si sono delineate tre categorie di mondi virtuali alle quali utenti provenienti da tutto il mondo possono accedere; queste sono: educazione, intrattenimento e simulazione. 2.3.1 Mondi Virtuali di Educazione I mondi virtuali dedicati all’educazione hanno come fine quello di istruire i propri utenti tramite un approccio ludico degli argomenti trattati. Questo processo prende il nome di Edutainment. Il termine è, infatti, un neologismo nato dalla fusione delle parole educational (educativo) ed entertainment (divertimento), ed è stato utilizzato inizialmente per indicare le forme di comunicazione ludica, finalizzate alla didattica. Il concetto si è con il tempo esteso a tutto quello che può essere comunicato, grazie al gioco, in modo simpatico e produttivo. Dal punto di vista informatico edutainment ha il significato di educare e di far socializzare le persone tramite differenti forme d’intrattenimento come siti web, videogames e mondi virtuali. Alcuni mondi virtuali lo utilizzano come apprendimento sperimentale utilizzabile nella formazione aziendale, questi giochi, infatti, sviluppano capacità operative e portano a: – acquisizione di tecniche, – conoscenza di principi di riferimento, – coinvolgimento nelle logiche di azione, – affinamento di competenze diagnostiche, di comunicazione, di soluzione di problemi, di relazioni interne ed esterne, di elaborazione di tattiche, ecc. Questa categoria di mondo virtuale ha innanzi a sé un immenso terreno di sviluppo perché accomuna gli scenari tridimensionali di ultima generazione, tanto 16 I Mondi Virtuali allettanti per i giovani, alla possibilità di apprendere nozioni utili alla crescita personale e professionale. 2.3.2 Mondi Virtuali di Intrattenimento I mondi virtuali di Intrattenimento, a differenza di quelli sopra citati, non hanno fini didattici, ma il loro unico obiettivo è di accogliere (spesso a pagamento) un numero arbitrario di utenti, offrendo ambientazioni fantasy e dinamiche di gioco tradizionali degli RPG (i.e. Giochi di ruolo). Il giocatore agisce nel mondo virtuale, svolgendo una serie di quest (i.e. compiti) che gli vengono assegnati. Procedendo di missione in missione, progredisce nelle proprie capacità di combattimento e acquisisce nuovi oggetti che può utilizzare direttamente o commerciare con altri giocatori. Questo tipo di mondo virtuale è PowerPlay: lo scopo principale, infatti, è quello di aumentare il proprio livello più velocemente possibile per diventare “il più forte”. Esistono già numerosi ambienti virtuali che sfruttano queste possibilità, come Ultima Online; questi, però, sono mondi chiusi in cui la possibilità di introdurre elementi di grafica, di logica o regole di comportamento fisico dell'ambiente sono veramente limitate. 2.4 Immagine tratta da Ultima Online 17 Capitolo 2 Un altro esempio di PowerPlay è rappresentato dalla categoria dei BBMMORPG (Browser Based Massive Multiplayer Online Role-playing Games). Questi mondi virtuali consistono di enormi database online raffiguranti simulazioni di battaglie, nei quali l’utente ha come scopo quello della ricerca, dello sviluppo, ma soprattutto quello della massima espansione. La differenza principale rispetto ai MMORPG è che qui non si ha un vero e proprio avatar, ma una serie di contatori sincronizzati che descrivono le operazioni effettuate. L’utente è lo stratega che decide in che modo investire le proprie risorse e muovere le proprie truppe; anche in questi giochi per raggiungere un predominio territoriale è fondamentale una buona alleanza. Questa categoria di mondi virtuali si adatta a diversi tipi di utente: è possibile collegarsi per pochi minuti al giorno e decidere le strategie migliori per il proprio villaggio o rimanere connessi ed avere un riscontro in tempo reale dello stato del proprio account. I contatori che scandiscono il tempo necessario all’operazione effettuata (es. creazione di un soldato), infatti, rimangono attivi a prescindere dallo stato (online o disconnesso) dello User. Alcuni tra i BBMMORPG più famosi sono Travian (ambientato nel Medioevo), Ogame (ambientato nello spazio), BiteFight (un mondo di vampiri) e Gladiatus (ambientato nell’antica Roma). 2.5 Immagini di Ogame e Gladiatus 18 I Mondi Virtuali 2.3.3 Mondi Virtuali di Simulazione Esistono mondi virtuali nei quali non è fondamentale acquisire un predominio sugli altri, ma lo scopo principale è quello di costruire una vera e propria “seconda vita” on-line. In questi mondi è interessante esplorare zone e conoscere altri utenti scambiando informazioni con essi, arricchendo il proprio bagaglio personale. Una possibilità che è tipica di questo ambiente virtuale è quella di poter costruire qualsiasi oggetto e condividerlo con altri utenti on-line. Su questo punto ci siamo soffermati, in quanto il nostro progetto prevedeva la riproduzione dell’Edificio del Corso di Laurea di Scienze dell’Informazione in un mondo Virtuale. Per sviluppare questo progetto abbiamo cercato nel web diversi tipi di programma e, dopo un’attenta scrematura, solo tre di essi potevano risultare utili per i nostri obiettivi: - MetaPlace; - The Sims Online; - Second Life. 2.3.3.1 Metaplace 2.6 Logo di Metaplace Metaplace è un mondo virtuale di ultima generazione. I netizen (i.e. abitanti della rete) possono utilizzare spazi online messi a disposizione per sviluppare 19 Capitolo 2 un'infrastruttura aperta sulla quale edificare e un motore capace di tradurre ogni elemento creato in un elemento comprensibile da un browser. “Ogni mondo si può pensare come una fosse un server, ogni oggetto si può pensare come un link”, ha spiegato Koster, già creatore di Ultima Online. Questi micromondi a loro volta agiranno come media: ognuno sarà veicolo di contenuti scelti dal demiurgo (i.e. creatore) che l'ha implementato e potrà ospitare utenti che vogliano interagire fra loro e con i contenuti [BOT23]. Ad esempio, dovrebbe essere possibile introdurre informazioni dal mondo reale a quello virtuale o consentire lo scambio di messaggi da pagine HTML, e così via. Lo spazio messo a disposizione degli aspiranti demiurghi potrà essere utilizzato come strumento di business, ospiterà pubblicità, anch’essa in formato minimondo, con la quale si potrà interagire. Agli utenti che invece vorranno sviluppare metamondi commerciali verrà chiesto un contributo. Metaplace ha come obiettivo quello di consegnare ai netizen gli strumenti tecnologici per lo sviluppo e lasciare che siano questi ultimi a costruire il futuro del web. Due le opportunità offerte ai creatori di Metaplace. Per gli utenti più esperti sarà possibile animare il proprio spazio assemblando stringhe di codice, modificando strutture esistenti, inserendo link, integrando servizi e contenuti web esterni e costruendo dei client ad hoc. Gli utenti meno esperti potranno comporre il proprio metamondo come fosse un puzzle, attingendo a codice preconfezionato e a template o alle soluzioni sviluppate da altri utenti, arricchendo il proprio spazio con forum o sbarramenti per rendere il mondo privato, con wiki o Chat. Questo metamondo avrà ottime possibilità di sviluppo in futuro, ma per ora non permette nessun tipo di progetto, in quanto ancora in via di sperimentazione (Metaworld è ancora in versione alfa). Per questo abbiamo preferito escluderlo dalla lista dei software adatti alla creazione del nostro progetto, a vantaggio di altri mondi virtuali quali Second Life o The Sims Online. 2.3.3.2 The Sims Online The Sims Online è un gioco online multiplayer, nato dalla variazione del popolare Gioco The Sims. E’ stato pubblicato dal Gruppo Electronic Arts e rilasciato 20 I Mondi Virtuali nel Dicembre 2002. Il nome Sims rappresenta i veri protagonisti del mondo virtuale: gli utenti sono, infatti, rappresentati da simulatori (da cui il nome) di vita, piccoli personaggi completi di tratti fisici e caratteriali diversi tra loro, che nascono, vivono, si riproducono e muoiono. I Sims abitano delle case (da costruire e arredare), hanno un lavoro, guadagnano simoleon (i.e. la loro moneta) e vivono esistenze che ricordano quelle delle persone vere [GIAN08]. 2.7 Logo di The Sims Online Il successo del gioco consiste, secondo alcuni, nella possibilità di creare da sé vestiario, ricolorare mobilia o inventarsi pettinature e trucco e poi poterli scambiare online tra utenti o utilizzarli nel proprio gioco. Il gioco, però, non è gratuito: dopo il primo mese per poter giocare è obbligatorio pagare 9,99 Dollari. Gi avatar che in questo metamondo prendono il nome di Sims, devono acquisire diverse skills (i.e. abilità) per guadagnare denaro e comprare oggetti virtuali o più semplicemente, per interagire con altri utenti. Le abilità possono essere incrementate più velocemente se diversi Sims lavorano allo stesso Skill contemporaneamente. Ad esempio, per diventare Meccanico è necessario leggere libri sulla Meccanica, per aumentare la propria Skill in carisma si deve parlare da soli allo specchio, etc. Inoltre, grazie alla funzione “Compra”, può essere arredato a piacimento l'interno e l'esterno della casa, con una serie di oggetti tra cui lampadari, tv, PC, elettrodomestici, mobili, etc. Tutto ciò rende the Sims Online completo: questo metamondo, infatti, può essere inserito nelle categorie di Edutainment, Intrattenimento e Simulazione, perché oltre ad imparare con le skills e ad interagire con altri sims, una volta diventati abili costruttori è possibile edificare la propria casa nel proprio lotto di terreno limitato. 21 Capitolo 2 Le possibilità di questo mondo virtuale sono di tutto rispetto e molto allettanti, ma il limite del lotto di terreno e il prezzo di abbonamento mensile al gioco distolgono la nostra attenzione da The Sims, a vantaggio di Second Life. La nostra scelta è dovuta al fatto che il nostro progetto risulterà molto esteso e soprattutto, dovrà avere come caratteristica fondamentale l’accessibilità, resa complicata dai costi di abbonamento di The Sims Online. La nostra scelta, quindi, cadrà su un mondo virtuale accessibile, nel quale risulterà possibile edificare una costruzione complessa. 2.3.3.3 Second Life Second Life è un mondo virtuale, creato nel 2003 dalla Società californiana Linden Lab. Il sistema fornisce ai suoi utenti (definiti “residenti”) gli strumenti per creare e aggiungere nel “mondo virtuale” di Second Life nuovi contenuti grafici: oggetti, fondali, fisionomie dei personaggi, audiovisivi. 2.8 Logo di Second Life Ciò che distingue questo mondo virtuale dai normali giochi 3D online è che il contenuto è interamente creato dagli utenti stessi. Gli incontri all’interno del mondo virtuale appaiono, dunque, come reali scambi tra esseri umani attraverso la mediazione “figurata” degli Avatar [SEC01]. L’avatar, sorta di corpo digitale, è incredibilmente dettagliato e permette una ricca e completa identificazione, grazie ad una serie di parametri da impostare a proprio piacimento. È possibile modificare in primo luogo l’altezza, la muscolatura, la corporatura, per poi passare alla fisionomia del viso. In questa sezione sono possibili 22 I Mondi Virtuali innumerevoli combinazioni, al fine di personalizzare al massimo il proprio avatar. La caratterizzazione del proprio “io” virtuale è possibile anche attraverso l’uso di vestiti, acquistabili online o realizzabili tramiti opportuni Tool di disegno. 2.9 Finestra di caratterizzazione del proprio avatar Il nome dell’avatar consiste di First Name (i.e. nome) e Last Name (i.e. cognome); il nome è scelto liberamente dall’utente, mentre il cognome deve essere selezionato da una lista Last Name preimpostati. Second Life è adatto ad ogni tipo di approccio: sia un creatore di contenuti 3D, un imprenditore, uno sviluppatore di giochi, un artista, un programmatore, sicuramente avranno enormi possibilità di sviluppo all’interno di questo mondo virtuale. Questo perché il metamondo è una finestra rivolta verso il futuro, che accoglie chiunque disponga di creatività. Una vera e propria arte all’interno di Second Life è rappresentata dalla moda. La possibilità di sviluppare indumenti di tutti i tipi partendo da Templates (i.e. immagini di riferimento) o incollando oggetti al proprio Avatar, ci dà l’opportunità di incontrare in rete giocatori con occhiali, catene, armi e borse. Questa funzione permette di personalizzare ancora di più il proprio personaggio: è difficilissimo, infatti, trovare su Second Life due personaggi uguali, proprio come nella vita reale. 23 Capitolo 2 All'interno di questo spazio online, tridimensionale, persistente e in continua crescita, si può creare qualsiasi cosa in tempo reale e in collaborazione con gli altri utenti. 2.10 Collaborazione tra due Avatar in costruzione Second Life offre la possibilità di possedere e gestire terreni, progettare e rivendere contenuti 3D. In questo mondo parallelo, infatti, la Linden Lab garantisce al creatore del contenuto la possibilità di sfruttare su di esso i diritti d’autore, vendendo o scambiando con altri utenti [LAB06]. Proiettare su appositi schermi on-line dei filmati in formato Real è un’opportunità interessante su Second Life; questa funzione, purtroppo, è applicabile solo se si è proprietari di un account premium e si agisce sul proprio terreno. È possibile inoltre animare gli oggetti creati, grazie al Linden Script Language (LSL), un linguaggio di programmazione simile al C-ansi, alquanto intuitivo che rende molto semplice lo sviluppo di script (i.e. programmi). Il LSL è ampiamente descritto in rete tramite un apposito wiki (i.e. enciclopedia creata dagli stessi utenti), che descrive le funzioni con i relativi parametri e propone, per ognuna, un esempio applicativo. Questo linguaggio permette di muovere oggetti e renderli interattivi, oltre ad associare suoni ad azioni dell’Avatar e rappresenta un aspetto di Second Life fondamentale per il nostro progetto. Il nostro obiettivo, infatti, consiste nel creare una struttura attiva capace di interagire con gli utenti. 24 I Mondi Virtuali Le compravendite su Second Life sono supportate da una moneta virtuale, il Linden Dollar, che ha un valore fluttuante e può essere convertito in Dollari Americani (1000 Linden sono circa 4 dollari). E’ possibile guadagnare Linden lavorando sul metamondo come cameriere o barista, oppure vendendo le proprie creazioni. Questa valuta virtuale può essere scambiata con denaro reale, dando vita a vere opportunità di business. 2.11 Dieci Linden Dollar In Second Life, proprio come nel mondo reale, ci sono innumerevoli occasioni per spendere soldi: shopping center, teatri, casinò, night club, ristoranti, alberghi. Questo significa che vi sono moltissimi Second Lifer (i.e. residenti) che della loro passione per il gioco hanno fatto il loro lavoro. Ad esempio vi sono persone che entrate nel mondo, hanno poi aperto un locale, un negozio o si sono improvvisati organizzatori di matrimoni virtuali. La portata economica di SL è tale che Paesi come Stati Uniti, Australia, Gran Bretagna, si stanno già attrezzando a livello normativo per poter tassare i guadagni effettuati su Second Life [DIG162]. La forza di Second Life è quella di non avere impegni di costo al momento dell’iscrizione: il solo vincolo consiste nell’essere maggiorenni. L’unico eventuale costo, imposto dalla Linden, è quello per l’acquisizione di una porzione di terreno, acquistabile a discrezione dell’utente, utile per posizionare gli oggetti creati in modo stabile. Un’altra enorme possibilità di Second Life consiste nel tenere conferenze online; il mondo virtuale, infatti, supporta il Voip (Voice over IP). Questa funzione permette di “dare voce” al proprio Avatar tramite una tecnologia che rende possibile effettuare una conversazione telefonica sfruttando una connessione Internet. La 25 Capitolo 2 peculiarità di Second Life è quella di permettere un’emissione vocale “a raggio d’azione”, ovvero, ciascun utente situato nei pressi di un avatar che sta parlando può sentire la sua voce. I campi di utilizzo di questa funzione sono immensi, molte Multinazionali, infatti, utilizzano l’applicazione per organizzare veri e propri Brainstorming Online. 2.12 Conferenza su Second Life Molti progetti sono in fase di sviluppo su Second Life, ad esempio, a breve sarà possibile ottenere una laurea nel metamondo di Second Life. Grazie ad un accordo tra l’università telematica internazionale Uni Nettuno e l’università Roma Tre, infatti, oltre 40mila studenti, appartenenti alla facoltà, potranno studiare da casa [IP07]. Negli ultimi mesi, anche il nostro Corso di Laurea ha ritenuto opportuno tenersi aggiornato su questo fenomeno di massa, è stato così allestito un laboratorio di “Vita Artificiale” che ha promosso la creazione del gruppo “Infonauti”. In questo gruppo studenti, tirocinanti, tesisti e docenti cooperano per raggiungere fini comuni, tra i quali la creazione dell’Edificio del Corso di Laurea. Le varie possibilità edilizie di Second Life e soprattutto, la sua accessibilità hanno fatto sì che la nostra scelta di sviluppo cadesse su questo mondo virtuale. 26 Progettazione 3 Progettazione L’obiettivo della nostra Tesi è sviluppare l’edificio del Corso di Laurea di Scienze e Tecnologie Informatiche, in Via Sacchi a Cesena, all’interno di un mondo virtuale: Second Life. La nostra struttura prende parte ad un progetto ben più grande: sviluppare un laboratorio permanente online in cui i vari utenti del Gruppo Infonauti potranno incontrarsi (direttamente da casa) e svolgere i propri elaborati in maniera cooperativa. Dovendo effettuare esperimenti di simulazioni e vita virtuale, è necessaria un’infrastruttura realistica per testare i vari modelli, gli agenti e gli algoritmi sviluppati. Per questi motivi abbiamo ritenuto interessante utilizzare come Home del Dipartimento la riproduzione online del Palazzo Mazzini Marinelli, infatti questo ci permette di unire la grafica, la programmazione, l’intelligenza artificiale e la storia dell’Informatica nello stesso progetto. 3.1 Palazzo Mazzini Marinelli 27 Capitolo 3 Chiunque visiti il nostro progetto potrà rendersi conto realmente della struttura del palazzo, già complesso della Chiesa e del Convento di Santa Caterina. La struttura venne edificata da Malatesta Novello nel 1460 e poi ingrandita e ampliata successivamente da diversi cittadini sindaci, fra i quali in particolare Girolamo Zofoli che prima del 1585 aveva fatto ampliare la facciata occidentale, edificare quella meridionale e quella orientale. Nel 1810 i Napoleonici spogliarono la chiesa e cacciarono le monache. Il complesso passò in affitto alla famiglia Ghiselli e nel 1813 fu acquistato dal Conte Giuseppe Masini che rase al suolo la Chiesa e ristrutturò il complesso con l'idea di costruirvi il suo palazzo. Nel 1815 i Napoletani abbatterono il campanile. Nel 1818 il complesso ricostruito dal conte Masini divenne un teatro e tale rimase fino al 1863. Nel 1877 la parte di levante del complesso, diventato di proprietà della Congregazione di Carità, diventò la Scuola elementare femminile Mazzini e a fine ottocento fu data stessa destinazione (scuola) anche alla parte sud del complesso. Uno degli obiettivi più importanti è quello dell’orientamento dell’utente; grazie a questo progetto è data la possibilità a chiunque di visitare il Corso di Laurea direttamente da casa, potendo visionare foto o filmati, ma soprattutto esplorare l’interno del Palazzo. L’aspetto è fondamentale, in quanto grazie alla accessibilità di Second Life, basterà avere una connessione internet per esplorare il Corso di Laurea e farsi un’idea dei contenuti architettonici e didattici. Un altro aspetto molto interessante di questo progetto è la possibilità di rendere interattiva parte dell’edificio, Second Life, infatti, offre la possibilità agli utenti di programmare righe di codice per controllare i movimenti degli oggetti. Ciò è reso possibile solo all’interno di un mondo virtuale perché qualsiasi altro software per la grafica non permetterebbe tale “interattività”; il fatto di sviluppare un edificio “dinamico” rende questo tipo di progetto assolutamente originale. A livello “didattico”, Second Life rappresenta un ottimo compromesso tra le qualità grafiche e la capacità d'interattività; veloce e intuitivo, è sicuramente uno dei migliori editor per lo sviluppo del nostro progetto. Andiamo adesso a definire alcune differenze con altri editor grafici e a porre l’accento sulle caratteristiche che ci hanno spinto a utilizzare Second Life. In particolare vogliamo chiarire il motivo per cui non abbiamo sviluppato la nostra tesi con 3D Studio Max. 28 Progettazione 3.1 Creazione del Corso di Laurea con 3Ds Max 3D Studio Max è uno degli editor di grafica tridimensionale più utilizzato in assoluto al di fuori dei mondi virtuali. È un programma di sviluppo per la grafica vettoriale tridimensionale che supporta le animazioni. 3DS Max è utilizzato per creazione 3D per numerose ragioni tra cui le potenti capacità di editing e la sua architettura a plug-in. Infatti, anche se molti strumenti non sono parte del prodotto, il software ha una grande scelta di plug-in realizzati da terze parti. Fin dalla versione 7.0 sono presenti strumenti di Texture avanzati, come un generatore e renderizzatore built-in normal map, stati inclusi per migliorare le capacità di progettazione di video-giochi. Dalla versione 6.0, è stato incluso Mental Ray, un potente sistema di rendering. Dalla versione 5.0, 3DS Max include strumenti d'illuminazione avanzata come Radiosity e Light Tracer, simili a strumenti di professionali per il rendering foto realistico come finalrender, Brazil r/s e V-ray. Il programma, inoltre, include Havok Reactor, un software per la creazione di realistiche simulazioni dinamiche (usate anche in molteplici giochi come Half-life 2, Oblivion, Max Payne 2 e Tribes: Vengeance) [3DS]. 3.2 Immagini di Max Payne 2 e Half Life 2 Alcuni metodi utilizzati da 3Ds per lo sviluppo degli oggetti consistono nella “modellizzazione con primitive”, questi metodi trovano utilizzo anche in Second Life. 29 Capitolo 3 La costruzione avviene modellando quadrati, sfere, coni, cilindri e altre forme geometriche predefinite (simile a Second Life, vedi la sezione 3.3.1), cambiando le dimensioni delle loro coordinate cartesiane. Si possono anche applicare operatori booleani, includendo intersezione, sottrazione e unione. La modellazione mediante poligoni è molto comune nella progettazione di videogiochi; il modellatore comincia convertendo una primitiva in poligoni e utilizzando strumenti come lo smusso, l'estrusione e il taglio dei vertici o delle facce, aggiunge dettagli e raffina il modello. 3D Studio Max è, inoltre, uno dei software più utilizzati per la creazione di Film, tra i più famosi possiamo citare Jurassic Park, Matrix, Il Gladiatore, Tomb Raider, Sin City e Gli Incredibili. 3.3 Immagine tratta dal film Matrix È possibile inoltre unire due o più poligoni e collassare i vertici comuni in modo da poter mantenere unità nella superficie risultante (funzionalità simile in SL, vedi sezione 3.1.4). Questa tecnica è molto utilizzata nel campo dei videogiochi, permettendo un controllo molto accurato su ogni poligono e quindi consentendo una forte ottimizzazione. 30 Progettazione 3.2 Differenze tra 3D Studio Max e Second Life Dovendo sviluppare un edificio riguardante la nostra Università, abbiamo ritenuto opportuno documentarci su eventuali progetti già sviluppati, per assicurarci di creare qualcosa d’innovativo e non un duplicato di un progetto preesistente. Il Corso di Laurea è stato realizzato anche in 3D Studio Max per una Tesi in “Metodi numerici per la Grafica” qualche anno fa. Il gruppo di ricerca che tiene tale Corso di Studio ci ha dato la possibilità di recuperare questa Tesi, di visionarla e di avere il filmato di rendering della stessa; grazie a questo abbiamo potuto paragonare Second Life con 3D Studio Max e motivare le nostre scelte. Le differenze principali tra i due software sono: “livello di definizione”; “tempo di rendering”; “interattività”; 3D Studio Max ha certamente un livello di definizione superiore a quello di Second Life. Questo perché 3DS è un programma nato per la realizzazione di progetti grafici, mentre Second Life ha un editor grafico al suo interno che, pur utilizzando le stesse tecniche di costruzione, ha livello di dettagli inferiori. Questo è dovuto soprattutto alla necessità di sviluppare un’architettura massiva online, ovvero una rapida visualizzazione del contenuto, percepibile da tutti e quindi renderizzata in pochi secondi. Possiamo affermare che il livello di definizione di Second Life è sicuramente buono. Il nostro obiettivo, infatti, non è quello di creare un palazzo esteticamente perfetto, ma quello di sviluppare un edificio interattivo. Come si può notare dalla Fig. 3.4 il dettaglio di 3Ds Max è elevatissimo, mentre l’immagine di Second Life rappresenta una riproduzione discreta e soprattutto, riconoscibile dell'edificio. Questa è un’ulteriore conferma che 3Ds Max è un ottimo programma per la riproduzione affidabile e realistica. 31 Capitolo 3 3.4 Foto del Corso di Laurea con 3Ds Max e con Second Life La seconda differenza sostanziale è il “tempo di rendering”. Il rendering è il processo di produzione dell'immagine finale a partire dal modello matematico del soggetto [CO3D]. Questa differenza di tempo rappresenta il motivo principale per cui abbiamo sviluppato il nostro progetto con Second Life: il tempo di rendering di 3Ds è estremamente lungo, mentre in Second Life è pressoché immediato. L’oggetto nello stesso istante in cui viene rezzato (i.e. creato) è già nel suo stadio finale, pronto a interagire. Per quello che riguarda il nostro progetto, dobbiamo denunciare che per caricare la nostra struttura, composta di oltre 3700 primitive, sono necessari circa due minuti al server di Second Life. Questo tempo è veramente irrilevante se consideriamo le ore di rendering necessarie per sviluppare un progetto in 3Ds. L’Interattività rappresenta, però, il motivo fondamentale per cui abbiamo scelto Second Life. Il nostro progetto, infatti, oltre a rappresentare la riproduzione dell’edificio, doveva soprattutto essere dinamico. Sviluppando la costruzione in Second Life si offre a chiunque la possibilità di visitarlo, non attraverso un percorso forzato, ma in modo pseudo-realistico, guidando i nostri Avatar attraverso porte (con un semplice tocco) e percorrendo scale. 32 Progettazione 3.3 Introduzione alla costruzione in Second Life Second Life, come abbiamo più volte affermato, è un mondo virtuale in tutto e per tutto, possiede, infatti, proprie regole, una moneta corrente, una propria grafica e soprattutto un proprio modo di costruire oggetti. Costruire un oggetto è un’operazione consentita solo in determinate zone, immediatamente identificabili grazie all’icona Build (i.e. costruzione), situata immediatamente alla destra dell’HELP. 3.5 Icona Build Disattivata Non sono molti i terreni comuni che mettono a disposizione aree sulle quali costruire su Second Life e nel caso non si abbia un luogo proprio nel quale riunire oggetti, conviene cercare SandBox (i.e. Aree di Costruzione) tramite la funzione di ricerca di Second Life. Per costruire in Second Life c'è un'interfaccia molto intuitiva che permette, dopo un po’ di pratica, di poter realizzare qualsiasi oggetto. 3.6 Menu a disco Per attivare questo TOOL di progettazione è sufficiente compiere un “Rightclick” sul terreno e scegliere Create nel menu a disco. 33 Capitolo 3 3.3.1 Le primitive Le prims (i.e. primitive) sono gli elementi base delle costruzioni di Second Life. Se s'immagina ogni oggetto di SL come una costruzione fatta con dei mattoncini, ogni singolo mattoncino è una “primitiva”. L’interfaccia con la quale è possibile costruire prim lavora in ambiente 3D, quindi tramite le tre coordinate cartesiane (x, y, z) come avviene per i sistemi CAD. Come si vede dall'immagine ci sono ben dieci figure geometriche solide (o PRIMITIVE) piene e tre cave. 3.7 Interfaccia di creazione oggetto Mettendo insieme tutte queste primitive è possibile realizzare qualsiasi costruzione; basta selezionare con il mouse una di queste figure e poi cliccare nell'ambiente circostante per creare la forma. Primitive come alberi e cespugli possono essere create solo se si è proprietari di un terreno. Tramite le funzioni di stretch (i.e. allungamento) rotation (i.e. rotazione) e copia, è possibile utilizzare le prims in svariati modi e comporre oggetti molto rapidamente. La dimensione minima per un elemento (X, Y, Z) è di un centimetro, mentre la dimensione massima ufficiale per una primitiva è di 10 metri. Questo poiché per ridurre la quantità di dati inviati tra i client e i server SL è utilizzata la modellazione parametrica, gli oggetti, infatti, sono descritti usando solo semplici e pochi parametri. Ci sono, però, delle eccezioni, di grandezza superiore ai 10 metri, queste primitive prendono il nome di Megaprim. 34 Progettazione 3.3.1.1 Le Megaprims Le Megaprims sono prims che raggiungono dimensioni superiori ai 10 metri di lato. Le Megaprims non possono essere create, sono utilizzabili solo quelle già esistenti in quanto Second Life ha appurato una serie di problemi al server, dovuti alla troppa estensione di queste prim (fino a cento metri). Infatti, le Megaprim non furono create inizialmente dalla Linden Lab, ma da un pirata informatico, Gene Replacement (nome dell’Avatar), che voleva eliminare il problema della dimensione massima delle primitive. Per questo motivo la Linden Lab non ha vietato l’utilizzo, ma ha dichiarato che nell’eventualità ci fossero problemi di Lag (i.e. rallentamento) si riserverebbe di eliminare senza avviso e salvare l’oggetto in Lost and Found (i.e. Oggetti persi). Con queste prospettive il loro utilizzo, anche se sarebbero molto comode nella riproduzione del nostro progetto, creerebbe instabilità, quindi non useremo questa tecnica. Nella Fig. 3.8 possiamo notare una prim più lunga dell’intero palazzo dell’Informatica da noi creato, la megaprim, infatti, misura 100 metri contro gli 80 della nostra struttura. 3.8 Esempio di Megaprim 35 Capitolo 3 3.3.1.2 Sculpted Prims Le sculpted prims (o Sculpts) sono primitive complesse determinate da texture. Per creare una texture per sculpted prim si deve creare un modello con un software 3d esterno e uploadare (i.e. caricare) l’immagine in Second Life. L’immagine creata deve avere i canali RGB mappati in XYZ, in questo modo è possibile dare profondità a un’immagine bidimensionale. 3.9 Finestra di sculpting Per aggiungere una sculpted texture a una primitiva è sufficiente selezionare “Sculpted” nel menu a tendina Building Block Type del Tool Edit Object. Nell’inventario sono presenti di defalut diverse sculpt e molte altre possono essere rintracciate gratuitamente on-line. Una volta caricata la texture, la sculpt è una primitiva in tutto e per tutto e può essere colorata, stretcchata e passibile di texture. 36 Progettazione 3.10 Scale formate con le sculpt Le sculpted prim consentono potenzialmente di realizzare costruzioni di aspetto definito, con un numero di prim inferiore rispetto alle prims tradizionali. È possibile applicare anche ai megaprim le texture per sculpted prim. Il problema principale delle sculpt consiste nel non perdere di qualità una volta stretcchate, per questo non le abbiamo utilizzate nel nostro progetto. Per sviluppare sculpted prims sono necessari software quali Blender: editor di disegno open source, che hanno la funzione mappare i tre colori RGB (Red Green Blu) nei tre assi cartesiani XYZ. Spesso la qualità della sculpt non è delle migliori, ma, considerando il basso numero di primitive utilizzate, si preferisce fare uso di questa tecnica. 3.3.2 Le operazioni basilari Premendo da tastiera Ctrl + 3 o selezionando l'icona con la freccia (Edit), è possibile apportare le tre operazione basilari di modellazione: spostare, ruotare e ridimensionare l'oggetto selezionato. 37 Capitolo 3 3.11 Tool di modifica oggetto Le tre operazioni più semplici da eseguire su una primitiva sono: - Position (i.e. spostare): selezionando quest’opzione appariranno tre frecce lungo i tre assi: rosso (X), verde (Y) e blu (Z). Cliccando sulle frecce è possibile spostare l'oggetto trascinandolo lungo l'asse scelto. - Rotate (i.e. ruotare): selezionando quest’opzione o mantenendo premuto il tasto Ctrl appariranno le sfere di rotazione. Basta selezionare e trascinare uno specifico anello (rosso/verde/blu) per ruotare l’oggetto sull'asse corrispondente. - Stretch (i.e. dimensionare): selezionando quest’opzione o mantenendo premuti Ctrl+Shift apparirà il box di ridimensionamento. Cliccare e trascinare la maniglia rossa/verde/blu per ridimensionare lunghezza/larghezza/altezza di una primitiva senza modificare le altre dimensioni. Cliccare e trascinare una delle maniglie bianche per ridimensionare l'intero oggetto proporzionalmente. - Se nella finestra di modifica è selezionata l'opzione Stretch Both Sides (i.e. Restringi entrambi i lati) le modifiche effettuate in un lato dell’oggetto verranno eseguite anche nell’altro lato, in modo da mantenere la simmetria. Questa scelta è molto utile quando si vuole rimpicciolire l’oggetto su entrambi i lati, mantenendo la sua posizione. 38 Progettazione 3.3.3 Proprietà delle Primitive In questa sezione andiamo a descrivere le varie operazioni che possono essere effettuate su una prim e gli sviluppi pratici. 3.3.3.1 La Scheda General 3.12 La scheda General La scheda General ha come attributi il nome dell’oggetto e una sua possibile descrizione, inoltre, qui è possibile decidere se condividere l’oggetto con altri utenti del proprio Gruppo (Share with Group), permettere a tutti gli utenti di Copiarlo e Spostarlo (Allow Anyone to copy/move) oppure se venderlo e impostare il prezzo. S può decidere, inoltre, se l’utente successivo potrà Modificare o Copiare, e quindi rivendere l’oggetto ottenuto. 39 Capitolo 3 3.3.3.2 La Scheda Object La scheda Object presenta diverse possibilità per modificare le prims. 3.13 La Scheda Object Ecco qui di seguito alcuni esempi: - Position, Size, Rotation (i.e. Posizione, Dimensione, Rotazione): consentono di introdurre coordinate specifiche XYZ per muovere, ridimensionare, ruotare l'oggetto. I cambiamenti ai valori originali hanno sempre come riferimento il centro dell'oggetto. - Path Cut Begin and End (i.e. Taglia inizio e fine): elimina una “fetta” dell'oggetto lungo il suo asse Z. È possibile specificare dove inizia il taglio e dove finisce. - Hollow (i.e. Svuota): introduce una cavità al centro dell’oggetto che parte dal punto mediano della forma e si espande all’esterno. Si può specificare quale percentuale del raggio dell’oggetto sarà occupata dalla cavità. 40 Progettazione - Twist (i.e. Attorciglia): introduce delle torsioni, curvando la forma dell’oggetto, come possiamo notare in Fig. 3.13. 3.14 Oggetto twistato - Taper (i.e. Assottiglia): riduce le dimensioni laterali da una parte o dall’altra (lungo l’asse X o Y, positivo o negativo) dell’oggetto primario. - Top Shear (i.e.Taglia in cima): fa scorrere via la superficie superiore dell’oggetto, creando un disallineamento con la parte inferiore. Si può scorrere lungo l'asse X o Y separatamente. È possibile decidere di utilizzare un oggetto nella modalità Locked (i.e. bloccato), nella quale non può essere modificato, ma solo spostato. Quest’opzione è tipica delle Megaprims, che hanno forme e dimensioni prestabilite, non potendo essere create. Se viene scelta, invece, la modalità Physical, l’oggetto in questione subirà gli effetti delle leggi fisiche del mondo virtuale tra cui la gravità e il vento. Se si crea un oggetto in modalità Temporary, si potrà assistere da un momento all’altro alla scomparsa di quest’ultimo, infatti l’oggetto ha un tempo di vita limitato. Nella modalità Phantom, la primitiva in questione manterrà la sua fisicità, ma risulterà inconsistente al tatto. Questa modalità è utile se si vogliono sviluppare delle Phantom-Door (i.e. porte fantasma) che potranno essere attraversate dopo un semplice tocco da parte dell’avatar. 41 Capitolo 3 Se non si seleziona nessun tipo di funzione speciale, la prim è collocabile in qualsiasi parte della Sandbox può essere modificata e mantiene la consistenza. Questa è la modalità da noi utilizzata durante il progetto. 3.3.3.3 La Scheda Features 3.15 Scheda Features In questa sezione è possibile impostare nella parte superiore la flessibilità della prim: la rigidità (Softness), in base un valore che va da zero (rigida) a tre (soffice), la gravità cui l’oggetto sarà sottoposto (Gravity, da – 10 a + 10), l’attrito dell’oggetto (Drag) e le risposte alle forze sugli assi e al vento (Force, Wind). Nella parte inferiore troviamo le impostazioni sulla luminosità dell’oggetto, tutte queste impostazioni sono avanzate. 42 Progettazione 3.3.4 Le Textures Una Texture (i.e. Consistenza) è un'immagine di tipo bitmap utilizzata per rivestire la superficie di un oggetto virtuale, tridimensionale [TEXT], nel nostro progetto abbiamo intenzione di fare largo uso di texture per dare ai muri, pavimenti e oggetti una facciata più realistica. Le Textures in Second Life possono subire una serie di modifiche per adattarsi alla primitiva che dovranno rappresentare. 3.16 Editor di Texture Per uploadare (i.e. importare) immagini proprie su Second Life si deve pagare una “tassa”d'importazione di dieci Linden Dollar. Second Life supporta diversi tipi d’immagini (jpeg, jpg, bmp, or e tga) ed ha come caratteristica quella di assegnare alle figure importate risoluzioni di ampiezza e altezza che sono potenze di due (es. 256x256). È consigliato, quindi, importare immagini già impostate a risoluzioni adatte 43 Capitolo 3 a Second Life, per evitare cambi di risoluzione dannosi. E’ possibile, inoltre, cambiare colore alla prim, grazie al comando Color, nella Scheda Texture, che permette di scegliere tra una vasta gamma di colori disponibili. Nella Fig. 3.14 notiamo le opzioni riguardanti la composizione di una Texture: - Mapping (i.e. Mappatura): può essere Default (i.e. standard) o Planar (i.e. Bidimensionale). - Shiness (i.e. Luminosità): può essere impostata None, Low, Medium, High (i.e. nessuna, bassa, media, alta). - Bumpiness (i.e. Rugosità): Second Life dà la possibilità di impostare anche l’effetto che l’oggetto darà alla sua superficie, liscio, rugoso, effetto mattone, stucco, legno e diversi altri effetti. - Repeats Per Face (i.e. Ripetizioni per faccia): rappresenta il numero di ripetizioni che la texture deve compiere in ogni singola faccia del nostro oggetto. - Rotation (i.e. Rotazione): ruota la Texture di un angolo deciso dall’utente. - Offsett (i.e. bilanciamento): sposta la texture in orizzontale o verticale in base alle necessità dell’utente. 3.17 Esempio di Offset, ottenuto facendo scorrere la stessa texture 44 Progettazione 3.3.5 Assemblare gli Oggetti Una delle caratteristiche più interessanti di Second Life consiste nel poter assemblare più primitive in un unico oggetto e trattarlo come una sola entità. Per linkare (i.e. unire) le primitive bisogna selezionare gli oggetti che si vogliono assemblare e digitare CTRL + L, mentre per disunirli CTRL+SHIFT+L. Bisogna prestare molta attenzione all’ultimo oggetto selezionato, che rappresenterà la Radice, in altre parole la prim che prevale sulle altre “Prim Satellite” e che contiene l’eventuale codice. La Radice è immediatamente visibile in quanto, subito dopo il linking assume un colore giallo, mentre tutte le altre prim diventano blu. 3.18 Esempio di blocco di prims prima e dopo il linking Il vantaggio/svantaggio di avere un oggetto linkato è quello di spostare, ruotare o stretcchare contemporaneamente tutte le prims che lo compongono. Questo è molto utile per ingrandire o rimpicciolire oggetti precedentemente composti in scala, ma, d’altro canto, impedisce di lavorare sul particolare una volta linkato l’oggetto. A volte si possono riscontrare dei problemi riguardanti l’eccessiva distanza delle primitive selezionate, in questo caso apparirà sullo schermo un errore che riporterà che il link (i.e. collegamento) non è avvenuto. Se alcuni oggetti, al cui interno risiede uno script di movimento (come una porta), sono erroneamente linkati ad altri oggetti statici lo script perderà il regolare funzionamento. 45 Capitolo 3 3.3.6 Salvare gli oggetti La peculiarità del mondo di Second Life è di rilasciare agli utenti il diritto d’autore sugli oggetti che essi creano, in questo modo possiamo assistere ogni giorno a migliaia di compravendite o scambi di oggetti tra residenti. Per salvare un oggetto occorre innanzitutto selezionarlo e, in seguito, entrare nel menu a disco e scegliere Take (i.e. prendi) se si vuole spostare l’oggetto nel proprio inventario, o Take Copy (i.e. prendi copia) se si vuole prendere solo una copia dell’oggetto. 3.19 Esempio di salvataggio di oggetto È possibile salvare sia oggetti linkati che gruppi di primitive e, in ogni caso, assegnare un nome al salvataggio direttamente dall’inventario, o dal menu di editing. 3.3.7 L’inventario Come nella maggior parte dei mondi virtuali, anche su Second Life è possibile mantenere i propri oggetti in un inventario, ovvero un raccoglitore di file che annovera tutti gli elementi posseduti all’atto della creazione del proprio avatar più quelli aggiunti successivamente. 46 Progettazione 3.20 Inventario su Second Life Nell’inventario abbiamo a disposizione diverse cartelle preimpostate quali Clothing (i.e. abbigliamento) che contiene i vestiti, Landmarks (i.e. Caposaldo) contenente link a zone già visitate, Objects (i.e. Oggetti) che contiene le nostre creazioni, come possiamo notare nella Fig. 3.19. Altre Cartelle di grande interesse sono Scripts e Textures, che contengono rispettivamente le creazioni in LSL e le immagini importate nel metamondo, pronte all’utilizzo. 3.4 Osservazione e Modellazione La raccolta del materiale è fondamentale quando si tratta di costruire la struttura dell’edificio, l’Università ha messo a nostra disposizione la planimetria dell’intero edificio, che è composta di due piani, più uno intermedio. La difficoltà maggiore che abbiamo incontrato è stata quella di dover calcolare le misure di altezza dell’edificio, per sviluppare una struttura realistica e proporzionata. 47 Capitolo 3 3.21 Planimetria dell’edificio Inizialmente abbiamo calcolato la proporzione che legava le misure riportate nella planimetria, a quelle reali. In quasi tutte le stanze dell’edificio, infatti, è riportata la superficie occupata. 3.22 Misura della superficie di alcune stanze del Secondo Piano 48 Progettazione Grazie ad una buona documentazione fotografica, abbiamo potuto calcolare le misure di altezza corrette, con proporzioni con altri oggetti di altezza nota. Le molte fotografie effettuate, inoltre, ci hanno permesso di avere sempre un riferimento esatto, da cui attingere informazioni su misure, colori e forme. L’utilizzo delle fotografie è fondamentale per la creazione di texture da applicare alle primitive per aumentare l’effetto della struttura reale. Un passo importante da compiere prima di incominciare a costruire, è quello del surfacing (i.e. facciata esterna, affioramento), cioè cercare di simulare i materiali della superficie degli oggetti. Per ricreare la superficie dei nostri oggetti abbiamo cercato di scegliere colorazioni reali e toni non troppo luminosi, per ricreare i materiali del Corso di Laurea. Naturalmente abbiamo eliminato le imperfezioni dell’intonaco, il degrado dovuto all’inquinamento e abbiamo apportato dove possibile delle migliorie. Poiché certi colori o texture già presenti all’interno di Second Life non corrispondevano a quelli reali, siamo ricorsi alle foto scattate in precedenza, abbiamo tagliato le parti necessarie e le abbiamo caricate come texture. 49 Implementazione 4 Implementazione Possiamo affermare, in primis, che Second Life è un mondo virtuale abbastanza stabile; questo mondo virtuale, grazie alla modellazione parametrica, ha un sistema di visualizzazione delle immagini molto veloce e interattivo. Se non si possiede un terreno sul quale sviluppare il proprio progetto, come nel nostro caso, si deve ricorrere all’uso di Sandbox (i.e. aree di costruzioni comuni), tuttavia, è altamente consigliato salvare continuamente i propri progressi nell’inventario perché il server offre agli oggetti sulle Sandbox un tempo di vita limitato. L’enorme mole di primitive, indispensabili per dare forma al nostro progetto, infatti, rappresentava un peso non indifferente per le Sandbox. Quando si sviluppano progetti complessi, come nel nostro caso, può capitare di venire invitati ad uscire, o di essere direttamente bannati (i.e. esclusi) da un’area di costruzione, senza nessun preavviso. 4.1 Riduzione delle primitive Ogni regione in Second Life è composta di 65536 metri quadrati (256x256) e può contenere al massimo 15.000 prims [LAPR], questo per non permettere ai residenti di sviluppare troppe costruzioni nella stessa area, rallentando così il basso tempo di Rendering (i.e. Resa di colori e luci di una scena). Se aumentano più del dovuto i 51 Capitolo 4 contenuti di un’area, infatti, il server non può più garantire una renderizzazione istantanea e vengono a mancare i principi basilari di Second Life. Lo scopo del nostro progetto è, quindi, riuscire a riprodurre l’edificio del Corso di Laurea di Scienze e Tecnologie Informatiche a Cesena, utilizzando il minor numero possibile di primitive. Questo ci porta a considerare ogni singolo particolare architettonico dell’edificio, al fine di raggiungere un buon compromesso tra il numero di primitive utilizzato e il risultato grafico ottenuto. 4.1.1 I Muri La prima modifica che abbiamo apportato è stata quella di “smussare” tutti i muri adiacenti alle porte; il particolare architettonico, infatti, è stato valutato irrilevante per quel che concerne le funzionalità del nostro edificio. I fattori di maggior interesse nella nostra Tesi sono, infatti, l’interattività e il basso tempo di rendering del progetto, a discapito di qualche particolare sacrificabile. 4.1 Particolare sulle smussature dei muri Gli spigoli adiacenti alle finestre rappresentavano un grosso peso, poiché ogni finestra ne possiede due, ciascuno formato da quattro prims e in tutta la facoltà abbiamo più di cinquanta finestre (200 prims in più). 52 Implementazione 4.2 Differenza tra due possibili muri Come si può notare dalla Fig. 4.2 la differenza tra i due blocchi è evidente, ma il risparmio di prims nel secondo è proporzionalmente maggiore. Per quanto riguarda lo sviluppo verticale dei muri nell’edificio abbiamo dovuto affrontarlo tenendo conto del problema della grandezza massima di una prim, infatti, come precedentemente affermato, una primitiva non può essere più estesa di 10 metri per lato. 4.3 Esempio d'incastro di porte 53 Capitolo 4 Come si può notare in Fig. 4.3 la tecnica più conveniente consiste nello sviluppare prims strette e alte, che si adattano all’incastro della finestra, in questo modo si evitano sprechi di primitive. Per lasciare aperta la possibilità di ingrandire o rimpicciolire l’edificio abbiamo ritenuto importante utilizzare al più primitive di otto metri. Selezionando tutte le primitive che compongono la nostra struttura, infatti, è impossibile modificare in scala l’edificio. Poiché Second Life è un mondo virtuale, in alcuni casi possiamo trovare degli Avatar sovradimensionati. Considerando che la costruzione dell’edificio risale al XVIII Secolo abbiamo supposto che alcune misure di altezza, soprattutto delle porte (alcune alte solo 2 metri), non fossero adeguate. In virtù di queste considerazioni abbiamo ritenuto utile utilizzare qualche primitiva in più per lasciare aperta questa possibilità. Le scelte architettoniche da noi effettuate risultavano abbastanza immediate; è possibile, invece, affrontare uno studio per sviluppare gli stessi particolari con un numero minore di primitive, questo studio prende il nome di PRIMFFICIENCY. 4.2 Primfficency Primfficiency è un termine che deriva da "prim efficiency + proficiency", in altre parole efficienza e competenza nel campo delle prim. Il termine allude a una conoscenza approfondita del Tool di disegno, che porta a un buon risultato grafico, con l’utilizzo di meno prims possibili. Creare una prim significa materializzarla o rezzarla (neologismo di Second Life). Le costruzioni più complesse hanno un gran numero (decine o centinaia) di primitive. Questo non dipende tanto dalle dimensioni, quanto dalla complessità dell'oggetto e dall'abilità del costruttore; quest’ultima consiste nell’utilizzare il minor numero di primitive possibili. Un oggetto o una costruzione con un basso numero di primitive è preferibile in quanto ogni porzione di terreno ha un limite massimo di primitive che può ospitare. La PRIMFFICIENCY è quindi l’arte di sviluppare un oggetto utilizzando un basso numero di prims [PRIM05]. 54 Implementazione 4.4 Esempio di Struttura di un castello con un numero limitato di prims In questo progetto abbiamo utilizzato la nostra conoscenza nel campo del disegno per risparmiare primitive in oggetti ripetitivi come porte, finestre, scale o colonne. Dovendo descrivere la parte interna dell’edificio, ci occuperemo dello studio della Primfficiency sulle scale e sulle porte interne. 4.2.1 Scale Nell’edificio da noi progettato sono presenti dieci scalinate, ciascuna composta di circa dieci gradini, il tutto corrisponde a cento prims; risultava quindi necessario studiare un metodo per risparmiare primitive. Abbiamo illustrato in precedenza le opzioni di disegno, tra le quali Path Cut Begin-End, ovvero taglia inizio e fine. 4.5 Due scalini formati con una sola prim 55 Capitolo 4 Questa possibilità ci permette di tagliare un parallelepipedo, formando, così, con una sola primitiva due scalini, ottenendo un guadagno immediato del 50%. Nonostante l’uso di una sola primitiva, la qualità degli scalini, come si può notare nella Fig. 4.6, rimane inalterata: questo è un esempio evidente di Primfficency. 4.6 Gli scalini applicati al nostro progetto Per quanto riguarda, invece, il passaggio da un piano all’altro, possiamo dire che l’operazione è stata abbastanza semplice. L’unico fattore di difficoltà è stato l’avere in nostro possesso solo le planimetrie dell’edificio, per cui abbiamo sempre dovuto calcolare ogni sviluppo verticale della struttura. Per creare gli scalini tra un piano e l’altro è bastato far coincidere scalini superiori con gli inferiori, mettere il piano più elevato all’altezza giusta e ricalcare fedelmente gli scalini presenti nella planimetria. 4.7 Esempio di creazione scalini in piani successivi 56 Implementazione 4.2.2 Le finestre Le finestre, come le scale, sono molto numerose nel nostro edificio e potevano rappresentare un fattore di risparmio prims, se create con Primfficiency. 4.8 Finestra Costruita con otto Primitive Possiamo notare in Fig. 4.8 una finestra composta da 8 prims, in questo caso si deve ricorrere alla primfficiency per risparmiare prims. Lo studio applicato alle finestre ci ha portato a sviluppare un oggetto composto di sole cinque primitive, ottenuto grazie alle funzioni di Hollow (scavatura) di un parallelepipedo. La funzione Hollow, come prima citato, rende cavo un oggetto partendo dall’interno e lavorando sul piano Z. Come possiamo notare nelle Fig. 4.8 e 4.9, le due finestre sono identiche tra loro, ma la prima è di otto primitive la seconda di cinque, questo è altamente indicativo sui possibili utilizzi della Primfficiency. 57 Capitolo 4 4.9 Stessa finestra con cinque prim Ruotando di novanta gradi l’oggetto rispetto al piano Z è, infatti, possibile ottenere un “effetto cornice”, ovvero ottenere quattro lati di un parallelepipedo con una sola primitiva. 4.10 Effetto cornice 58 Implementazione 4.2.3 Le porte interne 4.11 Porta Interna Le porte interne rappresentavano una buona fonte di risparmio prims, perché costituite da legno, materiale che si prestava all’utilizzo di Texture, a differenza delle porte di vetro. Potendo “incollare” direttamente le Texture, diminuisce notevolmente il numero di prims necessarie alla costruzione di una porta. In questo caso abbiamo deciso di eliminare il riquadro esterno alle porte e di sviluppare un lato sinistro statico e nella parte destra, il lato dinamico. Il lato destro è soggetto ad una rotazione di 90 gradi e consiste di una primitiva in cui è incollata la texture e dal cardine che è la radice dell’oggetto. Grazie all’utilizzo delle texture abbiamo utilizzato solo tre prim per costruire la porta, questo rappresenta un notevole risparmio, siccome la versione senza texture era formata da 8 prims e nel primo piano abbiamo 30 porte uguali (150 prims in meno). 59 Capitolo 4 Nella costruzione di qualsiasi porta è fondamentale inserire un cardine dove si vuole la rotazione, il cardine deve essere linkato al resto della porta apribile e deve rappresentare la Radice dell’oggetto, in altre parole il contenitore degli script. 4.2.3.1 Lo script delle Porte Nel nostro progetto abbiamo utilizzato sempre lo stesso script per aprire e chiudere tutte le porte, il nostro scopo era di costruire una porta che potesse richiudersi sia sotto comando dell’utente, che dopo un intervallo definito. Abbiamo deciso di impostare il tempo di chiusura automatica a novanta secondi, in questo modo l’oggetto ritorna in ogni caso al suo stato di quiete; andiamo ad analizzare lo script: Float TIMER_CLOSE = 0; Float gap = 2.0; Float counter= 0.0; Integer DIRECTION = 1; Nella prima parte assegniamo le variabili di tempo (TIMER_CLOSE, GAP e COUNTER), che più avanti spiegheremo meglio, e di direzione apertura porta (DIRECTION). Andiamo ad affrontare ora la funzione iniziale del nostro script. Default { touch_start(integer total_number) { llSetTimerEvent(gap); llTriggerSound("Door open", 0.8); rotation rot = llGetRot(); rotation delta = llEuler2Rot(<0,0,-DIRECTION * PI_BY_TWO>); rot = delta * rot; llSetRot(rot); State wait; Return; } } La funzione di default descrive lo “stato di quiete” del nostro oggetto. Appena tocchiamo la porta (llSetTimerEvent(gap);), viene attivata la funzione llSetTimerEvent, che azzera il tempo e lancia il contatore, viene successivamente attivato un suono di apertura porta(llTriggerSound("Door open", 0.8);) e attraverso il pacchetto di funzioni ROTATION, viene effettuata la rotazione intorno al Cardine. Terminata la rotazione, 60 Implementazione l’oggetto entra nella fase WAIT, ovvero in una condizione di attesa; qui è possibile richiudere la porta manualmente o lasciando passare 90 secondi, vediamo in che modo. 4.12 Apertura della porta Lo stato Wait ha due sottofunzioni, touch_star e timer(), se l’utente re cliccherà sulla porta, si attiverà la prima funzione (che conduce allo stato Close), nel caso contrario, quando il contatore (azzerato nel momento dell’apertura) arriverà a 90 lo stato Close verrà attivato automaticamente. State wait{ timer(){ counter = counter + gap; If (counter == 90.0){ State close; } } touch_start(integer total_number){ State close; } } 61 Capitolo 4 Il conteggio funziona nel seguente modo: il gap è impostato a due e per la funzione precedente llSetTimerEvent(gap), viene generato un evento ogni 2 secondi. Alla somma degli eventi viene, quindi, aggiunto gap (+2) ogni due secondi, quando la somma arriva a novanta la funzione si arresta e si attiva lo stato Close. State Close { rotation rot = llGetRot(); rotation delta = llEuler2Rot(< 0,0,DIRECTION * PI_BY_TWO >); rot = delta * rot; llSetRot(rot); llTriggerSound("Door close", 0.8); State default; } Nello Stato Close viene effettuata la rotazione nel lato opposto della porta (prima -DIRECTION, adesso DIRECTION) e viene attivato il suono di chiusura porta(llTriggerSound("Door Close", 0.8);) finite le operazioni, l’oggetto torna nel suo stato di quiete(State Default). 4.13 Chiusura Porta 62 Implementazione 4.2.4 Altre porte Dovendo analizzare gli interni dell’edificio, evidenzio gli studi effettuati sulla porta a vetri che precede il laboratorio al piano di sopra. La porta è molto complicata come struttura e il fatto di dover avere due sportelli apribili non permette un alcun risparmio di primitive nella parte inferiore. Nelle finestre, infatti, era possibile risparmiare diverse primitive utilizzando un’unica lastra di vetro; ogni parte della vetrata invece deve averne da unire al cardine, in modo da rendere realistica la porta. Per quanto riguarda la parte superiore, la Primfficiency mi permette di risparmiare primitive solo in un punto, la primitiva della figura 4.13 è ottenuta da un parallelepipedo, tagliato, incavato (Path Cut/Begin, Hollow) e ruotato di quarantacinque gradi. 4.14 Porta interna laboratori 63 Capitolo 4 4.15 Prim ottenuta con Path e Hollow 4.3 Sviluppo dell’edificio Per sviluppare il nostro edificio abbiamo deciso di utilizzare una tecnica abbastanza frequente su Second Life, ovvero quella di applicare la planimetria attraverso le texture. 4.16 Esempio di costruzioni con Texture di planimetria 64 Implementazione Abbiamo quindi dovuto dividere la nostra planimetria in blocchi di 10 metri per lato, in modo da rispettare le proporzioni. Abbiamo compiuto quest’operazione tramite il software open source “Gimp”, che permette di tagliare un’immagine in diversi settori, in base alle proprie esigenze, grazie all’immissione di guide (i.e. Linee) che possono essere tagliate. 4.17 Immissione di Guida Una volta immesse tutte le guide necessarie al taglio, è possibile ottenere la frammentazione dell’immagine. Questo grazie alla funzione Ghigliottina, che, come suggerisce il nome, taglia le immagini in base alle guide. 4.18 Creazione guida in Gimp 65 Capitolo 4 Il risultato dell’operazione di ghigliottina è ottimale per il nostro tipo di approccio al progetto, infatti, ora è sufficiente inserire le immagini ottenute come texture in Second Life, e incollarle a prim che formeranno le “fondamenta” del nostro edificio. 4.19 Operazione di ghigliottina 4.3.1 La struttura base La struttura base consiste di una matrice di blocchi di dieci metri per dieci, ai quali sono state applicate le Texture, per ottenere in Second Life una pavimentazione in grado di guidarci nella creazione dell’edificio. 4.20 Esempio di blocco con texture 66 Implementazione I blocchi sono in tutto quarantadue, infatti abbiamo diviso l’asse X della planimetria in sei sezioni e l’asse Y in sette. I particolari riguardanti piani intermedi erano contenuti all’interno del secondo piano; per estrarre le texture abbiamo semplicemente incollato le immagini che ne riportavano le caratteristiche in appositi blocchi. 4.21 Blocchi con le caratteristiche dei piani intermedi Dalla struttura base abbiamo poi sviluppato i muri esterni e interni, semplicemente ricalcando le forme date nella planimetria e riportando le misure di altezza calcolate in precedenza. Per “sincronizzare” due piani è bastato prolungare parte dei muri inferiori e cercare un riscontro nei piani superiori. La struttura, infatti, non subisce evidenti modifiche e presenta diversi muri portanti che si estendono dal primo all’ultimo piano. 4.22 Fase della creazione della struttura di base 67 Capitolo 4 Una fase complicata della costruzione consiste nell’affrontare il problema della grandezza della struttura. Non tutte le SandBox, infatti, supportano prims o blocchi di prims troppo estese, perché possono rallentare i tempi di rendering. Dopo diversi tentativi abbiamo trovato una SandBox adatta al nostro progetto: “Sandbox - Denmark International”, questa zona di costruzione ha una caratteristica aggiunta rispetto a tutte le altre, il pavimento graduato, per facilitare la misura immediata delle prim in fase di sviluppo. 4.23 Pavimentazione del Piano Terra 4.24 Pavimento Graduato nella SandBox Denmark International 68 Casi di Studio 5 Casi di Studio In questo Capitolo andremo a paragonare i risultati ottenuti nel nostro progetto con la realtà; il nostro obiettivo, infatti, è riprodurre la struttura dell’edificio del Corso di Laurea di Scienze dell’Informazione su Second Life. Second Life, come più volte ricordato, ha come intento quello di supportare un’architettura massiva online, questo porta ad un forte risparmio nel dettaglio per favorire la velocità di renderizzazione e l’interattività del prodotto. Durante il nostro progetto abbiamo effettuato degli SnapShot, ovvero delle fotografie istantanee che riportavano i nostri progressi e abbiamo utilizzato questa possibilità per effettuare il confronto con la realtà. Dobbiamo specificare che risulteranno evidenti alcune differenze tra lo sviluppo in Second Life e la realtà, soprattutto a livello di dettagli: il nostro obiettivo era, infatti, quello di sviluppare una struttura riconoscibile del Palazzo, senza arredare le stanze ed i corridoi. Per quanto riguarda la mancanza di alcuni particolari possiamo affermare che abbiamo ridotto i corrimani di tutte le scale per risparmiare primitive, inoltre non abbiamo inserito nella nostra struttura alcun tipo di lampadario e tavolo o PC. Le finestre sono rappresentate in modo schematico, senza l’aggiunta di tende o veneziane per risparmiare primitive e sono state ovviate alcuni dislivelli presenti nei vari piani per semplificare il tutto. Andiamo ora a visualizzare alcune immagini significative del nostro sviluppo. 69 Capitolo 5 5.1 Scale reali con corrimano 5.2 Scale su Second Life 70 Casi di Studio Il confronto tra le due immagini ci porta a ribadire gli obiettivi principali del nostro progetto. È evidente che la riproduzione effettuata su Second Life presenta delle leggere incongruenze con realtà. Può capitare di non riscontrare una perfetta riproduzione di tutti i particolari, in quanto il primo obiettivo posto è quello della riconoscibilità e non della perfezione nel dettaglio architettonico. La nostra struttura si può considerare un “cantiere aperto” e queste imperfezioni potranno essere migliorate da futuri ricercatori in Second Life del gruppo Infonauti. Un’altra differenza giustificata è quella degli scalini, possiamo notare che nella Fig. 5.1 gli scalini originali presentano un unico piano inferiore, mentre su Second Life non è stato inserito, per rispettare la PRIMFFICIENCY. Il corrimano, come in tutte le scale riprodotte nel nostro progetto è riportato in modo semplice e simbolico, al fine di risparmiare primitive. Andiamo ora ad analizzare la differenza tra le Fig. 5.3 e 5.4: anche in questo caso possiamo notare che la qualità della riproduzione non è ottimale. 5.3 Corridoio con porta a vetri 71 Capitolo 5 L’illuminazione nella foto di Second Life è molto scarsa in quanto non sono state inserite le lampade che rappresentavano un numero elevatissimo di primitive. Possiamo notare come dietro la porta a vetri manchi il disegno del corrimano della scala: anche in questo caso la scelta architettonica è stata effettuata al fine di risparmiare prims. Un’altra differenza è rappresentata dalla pavimentazione: nella realtà, infatti, abbiamo un disegno molto semplice, formato da una tinta grigia con due linee rosse che si estendono per tutto il corridoio. Su Second Life abbiamo deciso di utilizzare lo stesso colore per tutto il corridoio in quanto le linee rosse dovevano essere incollate su altri piani e rappresentavano per noi una spesa ingente di primitive. 5.4 Corridoio con porta a vetri su Second Life Nell’atrio abbiamo sviluppato la porta che separa la stanza “distributori automatici” dall’ala disabitata. Questo particolare presenta una parte superiore in vetro e un’inferiore composta di uno sportellino statico e la porta con i vetri oscurati. La riproduzione in Second Life è stata abbastanza fedele in questo caso: abbiamo potuto risparmiare primitive in quanto la porta non si deve aprire e non necessita di primitive spezzate e di cardini. 72 Casi di Studio 5.5 Porta dell’Atrio al Piano terra Per ottenere i vetri oscurati, abbiamo impostato una trasparenza molto bassa, a differenza dei vetri nei quali abbiamo utilizzato parallelepipedi bianchi con trasparenza al 70%. Grazie alla ricerca di oggetti in Freebies (i.e. luoghi in cui vengono regalati oggetti) abbiamo trovato in Second Life dei Distributori automatici, simili a quelli presenti in facoltà e li abbiamo inseriti nel nostro progetto. 5.6 Distributori automatici 73 Capitolo 5 5.7 Distributori automatici nella realtà L’arco situato in fondo al corridoio del primo piano rappresenta un altro particolare degno di nota. L’oggetto è stato sviluppato con la funzione Hollow-Circle, ovvero effettuando un foro circolare ad un parallelepipedo. 5.8 Confronto tra archi Osservando la Fig. 5.8 possiamo notare che lo sviluppo in Second Life risulta essere privo di arredamento (per i motivi sopracitati), inoltre si ripropone la differente 74 Casi di Studio pavimentazione, il colore è leggermente diverso, ma è il modello più simile che è stato trovato. Nelle pagine successive proponiamo altri casi di studio: la porta dei Laboratorio nel Primo Piano, porta che eviteremo di descrivere in quanto già affrontata nel capitolo 4.2.4. 5.9 Porta esterna ai Laboratori Superiori Andiamo adesso a visualizzare alcune immagini che documentano la creazione degli interni del nostro edificio. Dalla Fig. 5.10 possiamo notare come i muri interni rappresentino lo sviluppo verticale della planimetria del piano terra. Nell’immagine è rappresentata una vista dell’edificio a poche ore dalla nascita del progetto, è evidente la strategia di sviluppo attuata grazie all’uso delle texture per la pavimentazione. Nelle pagine seguenti riportiamo alcune snapshot particolarmente significative, riguardanti lo sviluppo del nostro edificio. Possiamo affermare che in molte foto la pavimentazione non rispetta la realtà; le immagini sono state riprese durante il nostro lavoro, e non rappresentano il prodotto finale. 75 Capitolo 5 5.10 Inizio della costruzione degli interni del piano terra 5.11 Immagine degli interni 76 Casi di Studio 5.12 Vista all’inizio della costruzione del Primo Piano 5.13 Particolare sulla costruzione degli interni 77 Capitolo 5 5.14Interni dell’edificio 5.15 Primo piano in sezione 78 Casi di Studio 5.16 Vista posteriore degli interni 5.17 Struttura completa con particolare sugli interni 79 Capitolo 5 5.18 Interni con selezione 80 Conclusioni 6 Conclusioni In questa Tesi abbiamo dimostrato come sia possibile riprodurre edifici reali in Second Life. Il mondo virtuale si è dimostrato utile ai fini didattici e ci ha permesso di sviluppare una struttura polivalente che rappresenta il prodotto di studi grafici e implementazione di codice LSL. La scelta del Palazzo Mazzini Marinelli è stata effettuata in quanto la struttura rappresenta realmente la sede del CdL di Scienze e Tecnologie Informatiche; inoltre l’edificio presentava un’architettura apprezzabile e un alto numero di stanze, entrambe caratteristiche fondamentali per i nostri obiettivi. Il progetto da noi realizzato diventerà, infatti, l’Home di Ricerca del CdL di “Via Sacchi” a Cesena e verrà utilizzata da futuri ricercatori del Gruppo Infonauti per testare agenti virtuali. La caratteristica principale di Second Life è di permettere una forte accessibilità: ogni oggetto, infatti, viene “rezzato” (i.e. creato) direttamente nel suo stadio finale, senza dover attendere lunghi tempi di rendering. Grazie a questa possibilità l’utente, oltre a visualizzare l’edificio, avrà la possibilità di esplorarlo, scegliendo quali porte aprire e camminando all’esterno e all’interno del “CdL Virtuale”. In questo modo è possibile creare un prodotto interattivo ed accessibile da chiunque abbia a disposizione un collegamento Internet: un vero labirinto di Stanze Tematiche, che è molto più di una riproduzione fedele di un edificio visitabile tramite un percorso obbligato. 81 Capitolo 6 Una problematica riscontrata è rappresentata dall’ingente mole di primitive presenti nel nostro progetto. Il server del metamondo ha difficoltà a “caricare” un numero elevato di primitive per cui una fase importante del nostro studio è stata la ricerca di meccanismi atti a risparmiare prims. Abbiamo modificato qualche particolare architettonico irrilevante e utilizzato alcune texture incollate a parallelepipedi per sviluppare finestre, porte e muri con un basso numero di Primitive. 6.1 Sviluppi Futuri Il progetto darà la possibilità di esplorare su Second Life la riproduzione virtuale del Palazzo Mazzini Marinelli di Cesena, sede del CdL Scienze e Tecnologie Informatiche. Questa opportunità favorirà l’orientamento per futuri studenti e per chiunque volesse farsi un’idea dell’edificio, senza muoversi da casa. Sviluppando questo progetto abbiamo unito, la componente Grafica a quella di Ricerca e Sviluppo, la Programmazione per animare gli oggetti alla Storia della nostro Corso di Laurea. La struttura sarà collocata all’interno dell’Isola di Unibo, su Second Life e diventerà l’Home di ricerca del Corso di Laurea di “Via Sacchi”. Oltre alla componente dell’orientamento, la costruzione virtuale sarà molto utile come contenitore didattico: futuri studenti, infatti, si occuperanno di ammobiliare e perfezionare gli ambienti dell’edificio. Il numero elevato di stanze che compongono la struttura permette diversi utilizzi, ad esempio quello di contenere alcuni agenti sviluppati da Studenti del Corso che hanno come funzione quella di esplorare il mondo circostante. In futuro si potranno aggiungere all’edificio componenti di domotica, come l’ascensore, per rendere la struttura ancora più realistica; inoltre potranno essere tenute delle vere e proprie lezioni online grazie alla funzione di Voip e alla possibilità di proiettare immagini e filmati. 82 Bibliografia Bibliografia [CYB05] Gino Roncaglia, Costruire il ciberspazio http://www.mediamente.rai.it/mediamentetv/learning/ed_multimediale /lezioni/05/index.htm#Dal_reale_al_virtuale_e_ritorno [MU02] Wikipedia, Multi User Dungeon, http://it.wikipedia.org/wiki/Multi_user_dungeon [MON06] Mario Gerosa, Aurélien Pfeffer, Mondi Virtuali 2006, Edizione Castelvecchi [DEIA4] Giuseppe Deiana, Etica e Multimedialità nella Società della Comunicazione http://www.sfi.it/cf/archivio_cf/cf4/articoli/deiana.htm [BOT23] Gaia Bottà, Metaplace, micromondi in rete mercoledì 23 gennaio 2008 http://punto-informatico.it/p.aspx?i=2167193 [GIAN08] Enrico Giancipoli, The Sims Online, il biglietto è gratis Giovedì 28 febbraio 2008 http://punto-informatico.it/p.aspx?i=2203364 [SECO01] Wikipedia, Second Life http://it.wikipedia.org/wiki/Second_Life [LAB06] Second Life Italia, Cos’è Second Life http://www.secondlifeitalia.com/wiki/Cos'%C3%A8_Second_Life [DIG162] Donatella Cambosu Abirascid, Vite Parallele http://www.digitalife.it/primapagina.asp?id=162 [IP07] Alessandro Ferrazzi, Laurearsi su Second Life. 21 Dicembre 2007 83 Bibliografia http://www.over-ip.eu/2007/12/21/laurearsi-su-second-life.html [UNI18] Unibo, Archivio Storico, Palazzo Mazzini Marinelli http://www.archiviostorico.unibo.it/template/listImmagini.asp?IDFold er=156&LN=IT [3DS] Wikipedia, 3D Studio Max http://it.wikipedia.org/wiki/3D_Studio_Max [CO3D] Wikipedia, Computer Grafica 3D http://it.wikipedia.org/wiki/Computer_grafica_3D [TEXT] Wikipedia, Texture http://it.wikipedia.org/wiki/Texture [PRIM05] Second Opinion , Tips and Trick, Better building with Primfficiency http://secondlife.com/newsletter/2006_05/html/tips.html [LAPR] Second Life , Land Pricing & Use Fees http://secondlife.com/whatis/landpricing.php 84
Documenti analoghi
riproduzione virtuale degli esterni dell`edificio del
ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA
SEDE DI CESENA
FACOLTA' DI SCIENZE MATEMATICHE, FISICHE E NATURALI
CORSO DI LAUREA IN SCIENZE DELL'INFORMAZIONE
Atlante della Città Virtuale
cui abbiamo evidenziato il disegno della Città
Virtuale rispetto a tre aspetti tematici (comunicare/”costruire”, giocare, sperimentare);
b) lo spazio teorico “visionario” del Ciberspazio;
c) lo spa...
UMANI, ELFI, ORCHI E NON MORTI. Per un
3.2.11. La Comunità, la Chat e la costituzione delle gilde .................. 76
3.2.12. L’economia e il commercio...................................................... 79
3.2.13. La morte............