Ribbon particles

Le “ribbon particles” (le cosiddette particelle nastro) sono un’altra novità introdotta su Second Life, e possono trovare tantissime applicazioni interessanti.
Importante però, dotarsi di un viewer aggiornato (io uso Firestorm 4.5.1).

Si tratta di una tipologia di particles che vengono generate in maniera continua, dando un effetto appunto di “nastro” o filo continuo.
Vengono implementate aggiungendo come flag:
PSYS_PART_FLAGS, PSYS_PART_RIBBON_MASK.
(Per sapere cosa siano i flag e le mask, andate in sezione “scripting” e leggete il tutorial sulle particles).

Alle ribbon particles possono essere applicati due parametri, che gestiscono la funzione di blending,
PSYS_PART_BLEND_FUNC_SOURCE 
PSYS_PART_BLEND_FUNC_DEST
ciascuno dei quali può assumere otto diversi valori (la lista completa è sul wiki).

Ecco un piccolo esempio di quello che ho realizzato giocando coi parametri:

LOD nelle mesh

Cosa è il LOD?
Il termine LOD sta per “Level Of Detail” (livello di dettaglio), e indica la complessità di una mesh in termini di vertici, che influiscono in una renderizzazione più o meno dettagliata in base alla distanza dalla vostra visuale.
In parole più semplici, via via che ci si allontana da una mesh , il dettaglio grafico diminuisce.  Perchè?
Ogni mesh che importiamo ha quattro differenti livelli di dettaglio:
1-Alto
2-Medio
3-Basso
3-Molto basso
Per comprenderlo, basta immaginare la mesh avvolta da una sfera di 4 strati:

LOD: strati

LOD: strati

Al momento dell’importazione di una mesh, potrete stabilire voi quanti vertici assegnare a ciascun livello. Ovviamente questo influirà sul “land impact” dell’oggetto stesso, cioè sul peso in termini di prim che ha un oggetto sulla sim, e sul costo di importazione.

Ecco un classico esempio.
Importo una  mesh (nell’esempio uso Firestorm come viewer).
Se clicco su un determinato livello, avrò l’anteprima della mesh in relazione al livello scelto.

lodexample

I quattro livelli del LOD

Nell’esempio si passa da un livello alto, con circa 4000 vertici, al medio con 1141 vertici, ai piu bassi, con 700 e 400 vertici appena.
Posso naturalmente aggiungere o rimuovere il numero dei vertici, modificando i parametri di ciascun livello.
Con un LOD molto dettagliato su tutti i livelli, vedrò bene la mesh in tutti i livelli,ma
il peso sarà enorme
Con un LOD molto basso assegnato ai livelli, il peso è contenuto.

Come decidere quanto assegnare ad un determinato livello?
La risposta corretta è valutare il tipo di oggetto, e l’uso che se ne deve fare.
Se importate un avatar, è necessario garantire un buon LOD anche a distanze superiori,
considerando inoltre che la mesh sarà un attachment e quindi non influirà di molto sul land impact.

Se invece dovete importare un oggetto da posizionare in land, chiedetevi se l’oggetto avrà rilevanza e dovrà essere osservato da distanze elevate.
Un arredo interno ad esempio, (un tavolo, un divano) è inserito in uno spazio ristretto, quindi non è necessario avere livelli di dettaglio eccessivi. si possono azzerare i livelli 3 e 4, e rendere il 2 molto basso.
Al contrario, se avete un oggetto in vista, allora dovrete aumentare pure i vertici ai livelli 3 e 4. Ogni scelta dipenderà sempre dalle vostre esigenze!

Ultimo accorgimento: quanto più grande è l’oggetto, in termini di dimensioni, più “la sfera e gli strati” del LOD aumentano, permettendo una visuale migliore anche a distanze maggiori.

Prim Animator (free e opensource)

Quante volte avete tentato di animare un pupazzo, un animaletto o un oggetto in genere?
Le opzioni sono tante, ma solitamente si tratta di sistemi (alcuni famosi, come il Puppeteer) a pagamento e che generano script non modificabili.
Grazie ad un paio di script opensource, potrete creare e gestire la vostra animazione senza spendere un centesimo, anzi un Linden.
Questi script vanno benissimo sia su Second Life sia su Open Sim

Gli script, creati e forniti da Ferd Frederix, potete trovarli cliccando qui.

I passaggi per creare un animazione sono semplicissimi.

Creazione e inserimento script
-Prima di tutto copia/incollate questi due script ciascuno in un nuovo script dentro SL( o comunque dentro la grid in cui volete operare)

-Adesso inseriteli soltanto nel root prim del vostro oggetto da animare

Gestione animazione
-Apparirà un menu, dove per prima cosa dovrete cliccare il tasto name e inserire il nome dell’animazione.

-Inserito il nome(ad esempio animazionetest), cliccate send e possiamo cominciare a registrare i movimenti dei prim, variando la posizione, la scala o la rotazione dei child prim (e non del root prim)

-Ad ogni movimento, salviamo il frame cliccando su record e poi su pause, dando un tempo in base alle nostre esigenze
Ad esempio 1000(equivale a 1 secondo)o 500(equivale a mezzo secondo).

-Se durante qualche frame registrato, volete rivedere l’animazione attuale, basterà cliccare il tasto del menu con il nome dela vostra animazione (ad esempio animazionetest)

-Terminati i movimenti desiderati, cliccate su Compile: questa funzione scrivera in local chat un lungo codice, che dovrete copia/incollare su un nuovo script,dentro il vostro root prim e salvare. (Potete adesso cancellare i precedenti due script da dentro l’oggetto).

Ultimo passo:
Quando farete il copia incolla, noterete che lo script nuovo conterrà ovviamente i time stamp della chat stessa, quindi avrete qualcosa del tipo:

[04:05]  Compiler: animazionetest(){
    vector currentSize = llGetScale();
    float scaleby = currentSize.x/originalScale.x;      ……   e cosi via.

Dovrete eliminare da ogni riga l’intestazione “[04:05]  Compiler:”..
come fare???
Semplicissimo..
Dentro la finestra del vostro script, su edit (o modifica) dovrete cliccare “search / replace” (o cerca/sostituisci):
Sul campo search, inserirete “[04:05]  Compiler: ” (nel vostro caso l’orario sarà ovviamente differente)
Il secondo campo, in basso, lasciatelo vuoto e cliccate “Replace all” (o “Sostituisci tutto“)
Lo script è pronto!

Adesso attiviamolo tramite un trigger
Cosa è un trigger?

Un trigger, è un “detonatore”, uno script che permette l’attivazione di un altro script, o di un azione specifica.
Il trigger infatti darà il via all’animazione, stabilirà se l’animazione stessa dovrà partire al tocco, con un sensore, un timer, e cosi via.

All’attuale situazione, dovreste avere dentro il vostro oggetto solo il vostro script di animazione, dato che i primi due li avete cancellati.
Create un nuovo script, ovviamente sempre dentro il root prim.

Nello script base , sostituite nell’evento touch l’azione llSay con questa riga

 llMessageLinked(LINK_SET, 1, “animazionetest”,”");

Questo comando, richiamerà l’animazione tramite il nome che abbiamo scelto per lei: (animazionetest)

il trigger quindi sarà così:

default
{
     state_entry()
     {
      // llSay(0, "Hello, Avatar!");
     }

     touch_start(integer total_number)
     {
        llMessageLinked(LINK_SET, 1, "animazionetest","");
     }
}

Provate adesso a salvare, e toccare il vostro oggetto..godetevi la vostra animazione.

Zadaroo: tantissime risorse gratuite

Se siete a caccia di risorse completamente gratuite su internet, fate un salto qui:
http://zadaroo.com/

All’interno troverete, nella sezione DOWNLOADS, centinaia di risorse totalmente free che potrete utilizzare come supporto alle vostre creazioni.
Potrete quindi scaricare, cliccando sull’immagine, moltissime animazioni, skins, template, sculpts,  e oggetti vari.

Buon divertimento!

Nuovo webtool: FlashScratch to SL

Rieccomi a presentarvi un tool adatto agli amanti dello scripting(ma soprattutto aspiranti tali).

Da un pò di tempo è online FLASH SCRATCH TO SL, un tool creato appositamente per generare script tramite una semplicissima interfaccia.

Vi basterà scegliere, in base a quello che vorrte generare, la categoria adatta(c’è di tutto, dai veicoli, agli oggetti, al controllo texture, alle funzioni piu disparate)

Trascinate sullo spazio di destra generando una sorta di diagramma, suddiviso in eventi e azioni, che si agganciano allo stesso modo di un puzzle!
Una volta terminato, cliccate in alto sul pulsante “GENERATE LSL” e avrete il codice pronto da copia/incollare inworld!

La caratteristica di questo tool, è che oltre che essere pensato per SecondLife, si adatta anche ad Opensim(in alto tramite un pulsante potrete scegliere tra le due piattaforme)

Lo scripting diventa sempre piu immediato, e alla portata di tutti…
Buon lavoro!

Curiamo le immagini: TiltShift Generator

In tanti mi hanno chiesto se esistono modi pratici e veloci di modificare una foto, senza essere esperti di Photoshop o possedere chissà quale software.

Esiste un tool online e free, TiltShift Generator, che vi permette, lavorando direttamente in rete, di modificare la vostra foto, aggiungendo un buon tilt shift(sfocatura) e lavorando sui contrasti e sul “vignetting”( un contorno solitamente di colore nero che avvolge l’immagine). Il tutto senza scaricare alcun software su pc!

Aprite la pagina web di TiltShift Generator, e caricate , cliccando su OPEN, una vostra immagine come ho fatto io nell’esempio:

Nel mio caso, voglio ottenere un effetto “sporco” e sfocato sul mio avatar, mettendo a fuoco sul drone volante che mi sta puntando. In questo modo:

In questo modo la foto ha assunto una maggiore dinamicità. Potrete notare il primo piano sfocato(decidete voi l’intensità e il centro), il “vignetting e il contrasto abbastanza forte, in modo da rendere piu “accattivante” l’ambientazione!

Appena finito, cliccate su SAVE e il gioco è fatto!
Provate voi!

Creare un albero mesh!

In questo tutorial spiegherò come realizzare un albero mesh senza dovere essere particolarmente abili nella modellazione 3D.
Esiste un tool infatti (totalmente FREE) che permette di creare alberi personalizzati e da migliaia di combinazioni.

Il tool infatti fornisce un vastissimo set di opzioni ( numero e larghezza di foglie , grandezza tronco, rami e tantissime altre cose), e inoltre possiede tantissime texture per il vostro albero.

-PASSO 1:

E’ necessario procurarsi:

- Tree[d]   -(per generare il vostro albero)

- Blender   -(per importanre l’albero ed esportarlo in Collada, il formato delle mesh in SL)

Una volta installato Tree[d] avviatelo e avrete già un albero di default nella schermata iniziale:

Sulla colonna di destra, avete decine e decine di parametri da cambiare a vostro piacimento.
A grandi linee(per chi non mastica bene l’inglese) , TRUNK sta per tronco, e potrete variare lunghezza, robustezza, vertici, raggio, e importante tra tutte… la texture(tra quelle date in dotazione dal programma).

LEAF invece controlla le foglie, la dimensione, il numero, le texture(davvero tantissime) e addirittura il punto di attacco al ramo!!!
Sempre in LEAF, potrete ad esempio dare un tono autunnale, primaverile.. e cosi via!!

Con il tasto sinistro del mouse, potete ruotare l’oggetto, col tasto destro zoomare.

-PASSO 2:

Una volta creato il vostro alberello, dobbiamo esportarlo in OBJ, andando su FILE > EXPORT OBJ, e salvandolo dando un nome.

-PASSO 3:

Adesso potete aprire il Blender, cancellare il cubo iniziale(premendo sulla tastiera “canc”) ,ed importare il vostro file .OBJ
FILE > IMPORT > Wavefront (.obj)

Otterrete questo:

-PASSO 4:

Non resta che esportare come in figura, in formato COLLADA(.dae), il formato riconosciuto da SL per le mesh.

Adesso entrate su SL, e importate la mesh con FILE > UPLOAD MODEL.
Non resta che importare (vi costerà naturalmente qualche linden dollar se siete sulla grid principale).

Otterrete l’albero in bianco (a sinistra).

A questo punto, potete importare le texture fornite dal programma Tree[d] e texturizzare per ottenere il risultato finale!
Importate dunque una texture per il tronco (da applicare al tronco) e una per le foglie(da applicare ovviamente alle foglie della mesh finale).

Da adesso potrete divertirvi piantare alberelli da tutte le parti.
Giusto per mostrarvi la quantità di combinazioni possibili, allego la mappa delle texture fornite da Tree[d]

Buon divertimento!

Drone War is BACK!

Dopo una prolungata assenza dovuta a impegni personali, eccomi qui a ringraziare innanzitutto chi ha continuato a leggere i miei articoli e i miei tutorial.

Quali novità?
Innanzitutto Delacruz Technologies adesso è anche su Facebook(come potrete notare nella colonnina a destra)

Ho lavorato molto sul mio gioco sparatutto, DRONE WAR. Ho completato e migliorato diverse aree e caratteristiche, a partire dall’introduzione di arti marziali, fucili al plasma, kit medici, nuovo hud.
Il gioco è ancora in espansione, e noto con piacere che i riscontri sono stati piu che positivi.

A breve scriverò diversi , tanti tutorial per condividere con voi quello appreso durante quest’ultimo periodo.
Intanto vi lascio al gameplay ufficiale 2013 di DRONE WAR
Sergio

Advanced creator tools!

Nell’articolo precedente avevo accennato alla prima serie degli “advanced creator tools” introdotti su SL, che riguardano il Teleport Agent ed il Temporary Attachment

Il primo permette di teleportare un avatar ad uno SLurl o una qualunque posizione, non appena il portale viene toccato. Le possibilità di applicarlo (pensiamo ad esempio ad un gioco, un teleport su collisione) sono praticamente tantissime!

Il secondo è utilissimo dal momento che permette di creare attachment di oggetti che non vengono conservati in inventario. Il primo esempio che viene in mente è la demo di un prodotto, il classico “try before buy”!

Entrambe le funzioni richiedono in ogni caso il permesso dell’utente per operare! Quindi nessun problema, teleport o attachment forzato!

Allego sotto un video che mostra i tools in azione!