PicLens in Flash con Papervision3D 2.0: parte II

Martedì 17 Giugno, 2008

Questa volta (vedi Piclens in Flash con Papervision3D 2.0) pubblico il codice (PicLens.as), ho dovuto rivedere alcune parti di codice, allineandomi così agli ultimi rilasci di Papervision3D 2.0 Great White ed ho eseguito alcuni aggiustamenti e aggiunte. Ho inserito in questa demo anche una serie di Knob, manopole, per modificare runtime alcuni parametri.

Simulazione del moto PicLens

Per avvicinarmi il più possibile al movimento orizzontale di PicLens originale, ho usato un piccolo stratagemma inserendo un "non visibile" DisplayObject3D come target per la camera:

Actionscript:
  1. __fooTarget = new DisplayObject3D();
  2. ...
  3. __bv.cameraAsCamera3D.target = __fooTarget;

In pratica la camera punta sempre il DisplayObject3D posto dietro la serie di immmagini. Quando la camera si muove (con un movimento accelerato/inerziale) anche il DisplayObject3D la segue, ma con un leggero ritardo. Questo mi ha permesso di rendere l'effetto di moto morbido e del tutto simile a quello realizzato su PicLens originale:

Actionscript:
  1. __bv.cameraAsCamera3D.x += (( __slider.Value - __bv.cameraAsCamera3D.x)/10)/2.2;
  2. __fooTarget.x += (( __slider.Value - __fooTarget.x)/5)/2.2;

Non ho utilizzato nessun Tween, ma una più semplice e performante funzione:

CODE:
  1. posizione += ((posizionefinale - posizione)/accelerazione)/inerzia;

Nel demo è possibile modificare alcuni parametri: focus, zoom e target. Quest'ultimo è la posizione del DisplayObject3D rispetto alle 99 immagini! Modificando questa posizione si noteranno cambiamenti nel movimento dell'intera scena.
Focus e Zoom sono invece proprietà dell'ambiente Papervision3D.

Interazione

Provate a cliccare sulle immagini... ;)

Post correlati

Flash e Papervision3D in Javascript

Mercoledì 11 Giugno, 2008

Edward Smith ha sviluppato un wrapper in grado di sfruttare le API Flash e Papervision3D in Javascript! La libreria, AS3Wrapper, è compatibile con FireFox e con IE. Con Safari per Windows funziona mentre ho riscontrato problemi con Opera 9, sempre per Windows. Il meccanismo che sta alla base di questo progetto, e che rende possibile questa “magia”, è quello di includere nella nostra pagina HTML un contenitore Flash (AS3Wrapper.swf) che accetta comandi Javascript (AS3Wrapper.js), permettendo in pratica di costruire oggetti Flash direttamente da Javascript.

Continua a leggere... »

Post correlati

Papervision3D: effetti con perlinNoise()

Lunedì 9 Giugno, 2008

Sfruttando l'effetto generato da perlinNoise() è possibile creare effetti di increspatura e onde con Papervision3D.

Scarica il sorgente

Per compilare il sorgente avete bisogno sia di Papervision3D che di Undolibrary - che ora potete trovare come pacchetto ZIP direttamente nella sezione Download di Google Code.

Post correlati

Papervision3D: BasicView

Venerdì 30 Maggio, 2008

Papervision3D 2.0 (GreatWhite) è in continuo sviluppo e sono molte le funzione che quasi settimanalmente vengono aggiunte. Ad aprile è stato inaugurato il blog dedicato agli sviluppatori (http://dev.papervision3d.org/), tuttavia, la release 2.0, non è ancora stata rilasciata ufficialemente è spesso difficile carpirne le vere potenzialità. Una delle recenti novità introdotte, comunque, è il nuovo oggetto BasicView che crea un'ambiente 3D con pochissime righe di codice. Basta infatti creare questo oggetto per avere a disposizione scena, viewport e camera in un colpo solo.

Continua a leggere... »

Post correlati

Papervision3D: gestire le Bitmap come in FIVe3D

Lunedì 5 Maggio, 2008

Partendo dall'esempio mostrato in FIVe3D: trattare le Bitmap, vediamo come realizzare il medesimo effetto utilizzando Papervision3D 2.0 (Great White), così da proseguire ad analizzare il funzionamento di questa beta Great White.

Loading Flash Player...

Continua a leggere... »

Post correlati

Flash 10 Astro: 3D nativo vs Papervision3D

Sabato 3 Maggio, 2008

Adobe ha annunciato da tempo alcune nuove features (Hydra per i filtri grafici evoluti e una migliore gestione del testo) che saranno presenti nella prossima release di Flash. In particolare ha destato interesse l'introduzione del 3D (l'asse Z), la capacità quindi di Flash di manipolare oggetti in un mondo tridimensionale. La stessa Adobe precisa che si tratta in realtà di un 2.5D, come spesso viene indicato, una specie di "simulazione" di un vero e proprio mondo tridimensionale. Infatti si può ruotare un simbolo Flash introno all'asse z ma, nonostante questo, il simbolo rimane piatto nello spazio tridimensionale! Un po' quello che accade quando si distorce una bitmap in Photoshop! Tutto questo, quindi, non ha niente a che fare con progetti come Papervision3D, Away3D, Sandy e molti altri, che contengono tutta una serie di features (camera, scene, texture, etc...) assenti "nell'Astro nascente". In sostanza Adobe non vuole assolutamente sovrapporsi a progetti 3D di terze parti ma solo fornire uno strato nativo per migliorare le prestazioni di librerie 3D già esistenti.

Comunque sia la cosa importante è che Adobe sembrerebbe orientata ad introdurre queste funzionalità tridimensionale ad un alto livello, non aiutando affatto librerie complete e complesse come Paparevision3D. Da tempo, infatti, si usano sostanzialmente due tecniche per espandere le funzionalità di Flash: API di basso livello e API di alto livello.

Le API di basso livello vengono normalmente scritte in C/C++ e fanno parte del core di Flash, compilate quindi all'interno del Player. Questo metodo se da un lato garantisce una maggiore velocità di esecuzione, dall'altro aumenta le dimesioni del Player Flash.

Le API di alto livello sono invece scritte in Actionscript e non appartengono al core nativo. In altre parole sono del tutto simili a librerie che potremmo scrivere noi, con la differenza che vengono fornite direttamente da Adobe. Come accade con il rilascio di Flash 5, la prima introduzione dell'oggetto XML fu realizzata completamente in Actionscript, creando non pochi problemi di performance!
Il vantaggio è che librerie di questo tipo vengono compilate solo quando necessarie e scaricate quindi all'interno del file SWF. Come accade oggi con l'oggetto Tween (vedi fl.motion.* o fl.transition.*) interamente scritto in Actionscript (anche per questo sono nati progetti paralleli come Tweener (caurina.transitions.Tweener) o TweenerMax.
Proprio per questo motivo la comunità Papervision non è del tutto contenta della scelta di utilizzare API di alto livello, in pratica dello stesso "livello" di Papervision3D. Questo, infatti, potrebbe non influire sulle future performance di librerie 3D.

Comunque andrà a finire, la cosa importante è che Papervision3D non è morto, anzi!

Post correlati

Piclens in Flash con Papervision3D 2.0

Lunedì 28 Aprile, 2008

Piclens È possibile realizzare l'effetto dell'add-on di FireFox Piclens in Flash? Penso proprio di si! Grazie a Papervision3D è possibile avvicinarsi molto allo stesso effetto. Questo che presento è un prototipo di cui non posso - per ora - rendere disponibile il codice. Tuttavia è interessante notare quanto sia verosimile l'effetto. L'immagine che vedete ripetuta 100 volte è incapsulata all'interno del filmato SWF e le sue dimensioni sono di 256x256 (PNG 24bit trasparente). In alternativa è molto semplice leggere una lista di immagini da un file XML, cosa che ho già fatto in un altro demo. In questo prototipo ho utilizzato Adobe Flash CS3, Actionscript 3.0 e la versione 2.0 di Papervision3D (GreatWhite).

Loading Flash Player...

Post correlati

Installare Papervision3D 2.0 Great White: TortoiseSVN

Giovedì 17 Aprile, 2008

Era da tempo che seguivo il progetto Papervision3D, una libreria in Actionscript (2.0 e ora 3.0) per la manipolazione di oggetti 3D e rendering davvero spettacolare. Inauguro, così, la categoria Papervision3D (prossimamente anche una 3D), inserita sotto Flash CS3. Papervision3D è disponibile anche per Actionscript 2.0, anche se io personalmente tratterò solo la versione per Actionscript 3.0.

Continua a leggere... »

Post correlati

Il nuovo sito Adobe.it

Venerdì 7 Dicembre, 2007
Adobe.it

Il sito Adobe.it si rinnova, si riveste cancellando l'ibrido Macromedia-Adobe realizzato subito dopo l'acquisizione della software house di Flash! Impaginazione orginale (a battuta a sinistra), uso di DHTML e Flash, ovviamente.

image Photoshop

Tutte le sezioni sono state ridisegnate con un'originale uso dei background. Da rinavigare assolutamente!

Post correlati

Papervision3D

Giovedì 15 Marzo, 2007

Papervision3D è un motore 3D estremamente performante per Adobe Flash 8 e 9. Le sue caratteristiche sono davvero impressionanti. Grazie all'estrema velocità di esecuzione di Flash sono stati possibili effetti di texture mapping davvero notevoli. Dal Blog ufficiale è possibile vedere le demo davvero eccezionali. Inoltre è disponibile un Videogame da provare.

Post correlati