Come abbiamo già visto nel
primo post dedicato a Second Life, quasi tutto ciò che è presente in questo mondo virtuale è creato dai residenti. Lo stesso software che si usa per entrare in Second Life mette a disposizione degli strumenti di editing, per creare e modificare ogni sorta di oggetti, a partire dai
prim (abbreviazione di
primitive), ovvero dei solidi elementari (cubo, cilindro, sfera... in tutto una decina) che, nodificati e combinati insieme, permettono di produrre oggetti molto più complessi.
La creazione di nuovi oggetti può essere effettuata da un avatar solo su terreni di sua proprietà, o sui quali abbia ottenuto dal proprietario il permesso di costruire; in alternativa, se non si possiede un terreno, si possono usare le
sandbox, che sono delle aree (in genere pubbliche) nelle quali chiunque può costruire; le sandbox sono pensate proprio per chi vuole impratichirsi delle tecniche di costruzione, tuttavia, quanto in esse creato non è permanente, poiché vengono ripulite ad ntervalli regolari di tempo (tipicamente ogni 6-12 ore).
Quando si crea un oggetto, oltre a definirne le caratteristiche geometriche e fisiche, (forma, dimensioni, colori, superfici...), cosa che avviene più o meno come nei più comuni programmi di modellazione 3D, vi si possono associare anche caratteristiche dinamiche, comportamenti, azioni che l'oggetto può compiere, ecc... Questi ultimi aspetti possono essere curati utilizzando un particolare linguaggio di programmazione, il
LSL (
Linden Scripting Language) di cui ci occupiamo in questa serie di articoli.
Per cominciare, avviamo Second Life ed accediamo con il nostro account: se non disponiamo di un terreno di proprietà, o su cui non abbiamo i diritti di costruzione, la prima cosa da fare è recarci in una sandbox; basta fare una rapida ricerca per trovarne diverse (una delle più note è
Public Sandbox Platform, alle coordinate (106,105,34)). Ora creiamo un oggetto, a cui applicheremo uno script (è sufficiente un oggetto qualsiasi, senza alcun vincolo per la forma e le dimensioni): clicchiamo sul terreno e, dal menu a torta, selezioniamo
Create; dalla finestra di editing che si apre, selezioniamo il prim della forma che più ci aggrada, ad esempio la piramide, e clicchiamo sul terreno nel punto in cui vogliamo materializzarlo (
rezzing, come si dice in gergo); infine, diamo un nome all'oggetto, nella scheda General, ad esempio
PiramideHelloAvatar.
Con l'oggetto selezionato, selezioniamo la scheda
Content nella parte inferiore della finestra di editing e clicchiamo sul pulsante
New script: nella parte immediatamente più in basso, osserviamo che, tra i file contenuti nel prim, è apparso
New Script; facendo doppio click su di esso, si apre, in una seconda finestra, un editor che ci permette di modificarne il contenuto. All'interno di questo file metteremo il programma in LSL.
In realtà, appena aperto, possiamo vedere che c'è già del contenuto (si tratta di poche righe di codice che costituiscono uno script dimostrativo); senza spiegare il significato delle istruzioni presenti, cosa che faremo a partire dal prossimo articolo, nel quale entreremo nel vivo di LSL, descriviamo solo la funzione svolta da questo script: il suo compito è di far apparire dei messaggi nella chat pubblica, in particolare, farà apparire la stringa
"Hello, Avatar!" nel momento in cui lo script viene inizializzato e la stringa
"Touched." tutte le volte che un avatar lo tocca.
Per il momento, senza apportare modifiche allo script, clicchiamo su Reset, che non fa altro che (ri) inizializzare lo script e, nella chat, dovremmo vedere il messaggio
"Hello, Avatar!", da parte di
PiramideHelloAvatar. A questo punto possiamo anche chiudere le varie finestre di editing e verificare che, tutte le volte che tocchiamo l'oggetto, questo risponde con
"Touched." sempre nella chat pubblica. Se siamo su una sandbox, la nostra creazione sparirà nel giro di qualche ora, quindi, se vogliamo conservarla, dobbioamo spostarla nel nostro inventario: clicchiamo con il destro sull'oggetto e, nel menu a torta, selezioniamo
Take, in modo che l'oggetto stesso venga eliminato dal terreno e posto nell'inventario, all'interno della cartella
Objects.
Per ora abbiamo solo fatto una rapida carrellata sugli strumenti necessari per usare LSL; a partire dal prossimo articolo, entreremo nel vivo del linguaggio.
A presto.