Il WebGL e le CSS 3D transforms sono due delle principali tecniche per realizzare effetti 3D nei browser, in questi primi anni il supporto per questi sistemi era veramente scarso ma in un breve lasso di tempo molto è cambiato e, noi di RAD ci teniamo a rimanere sempre aggiornati sulle ultime tecnologie e tendenze dello sviluppo web, per poter fornire prodotti innovativi e all’avanguardia: scopriamo insieme come possiamo sfruttare le tecnologie 3D all’interno dei nostri siti web!

CSS 3D Transforms

Concepire degli effetti 3D all’interno dei nostri siti web ha un suo senso logico: come per tutti gli altri tipi di strutture 2D, l’HTML continua a progettare la struttura e il CSS 3D Transforms si occuperanno invece di realizzare la parte grafica (naturalmente in questo caso in 3D), proprio come avrebbe fatto un normale foglio di stile CSS. Fino a qui penso sia tutto molto semplice e logico per chiunque si intenda un po’ di linguaggi di markup, non continuerò comunque questo articolo con guide sulle proprietà delle CSS 3D Transforms, lo scopo di questo post sarà quello di illustrare una veloce presentazione delle potenzialità di questo nuovo CSS attraverso alcuni interessanti progetti che sarai libero di visionare.

Shading and Multiplaning

Questi termini inglesi stanno a significare ombreggiatura e livelli multipli, grazie ad essi, è possibile realizzare degli effetti che diano la sensazione di tridimensionalità, anche l’ormai famoso parallax scrolling si basa proprio su questi due concetti: i vari contenuti, che siano scritte, elementi grafici o immagini, viaggiano a diverse velocità su dei livelli multipli e, con ombreggiature e sfuocature, è possibile accentuare l’effetto di profondità.

Un altro valido esempio che utilizza gli stessi principi può essere visionato nel progetto di Nick Pettit: il Multiplane Design. In questo progetto, Nick  riesce a ricreare un effetto di profondità 3D, grazie ai movimenti dei pannelli sull’asse Z a velocità differenti che avvengono nel momento in cui si prova a scrollare la pagina con il mouse.

Rad - multiplane_landscape_layers 3d
Immagine che illustra i livelli del multiplane per creare effetti 3D

Modellazione di oggetti 3d

Oltre a questi metodi appena illustrati, è stato sviluppato un editor molto interessante, chiamato Tridiv: si comporta come un qualsiasi altro software di modellazione 3D da desktop, con diversi strumenti per modellare gli oggetti e modificare la posizione della camera. La cosa sorprendente sta nel poter incollare i codici all’interno delle nostre pagine web per ricreare delle perfette copie 3D, tutto utilizzando solamente HTML e CSS.

RAD - 3d x-wing - Tridiv

WebGL

Il WebGL è completamente differente dall’HTML e il CSS, esso infatti è renderizzato attraverso il tag <canvas>, questo permetterà di realizzare un oggetto non intrusivo rispetto al resto della pagina, ed isolato in un suo contesto specifico. Questo comunque non è un aspetto particolarmente negativo poiché il canvas fa a tutti gli effetti parte del DOM e non avrà particolari difficoltà ad essere flessibile con il resto degli elementi della pagina.

Andiamo adesso ad elencare alcuni strumenti e progetti che ci potranno essere utili per sfruttare il WebGL:

Three.js

Uno dei più importanti progetti WebGL è three.js, strumento molto utile che ci fornisce  API per render, ombre, camere, luci ed effetti di ogni genere! C’è pure una community che carica in rete demo e tutorial per aiutarci a partire a sviluppare progetti WebGL.

Voodoo.js

Un’altro dei migliori progetti WebGl è Voodoo.js poichè permette di eliminare alcuni limiti che ci vengono imposti quando utilizziamo l’elemento canvas. Usando un codice intelligente (che alcuni chiamano appunto voodoo) avrete la possibilità di mischiare elementi WebGL con del normale HTML: cliccate sul link alla pagina ufficiale di Voodoo.js e scrollate la home page per vedere gli effetti parallasse d’esempio, provate inoltre ad evidenziare il testo della citazione a fondo pagina per vedere come l’anello dorato ci passa nel mezzo: è un normalissimo testo html ma magicamente un anello realizzato con WebGL fluttua intorno ad esso!

Chrome Experimets

Se non sei ancora rimasto impressionato da tutto ciò, ti invito ad andare a vedere gli esperimenti WebGL di Chrome Experiments: ognuno di essi è praticamente spettacolare e ti mostrerà tutte le potenzialità che il WebGL può offrire. Vale la pena visionare Delight Engine demo, nel quale sono presenti degli effetti di luce in tempo reale, degni di un gioco da console.

RAD - 3D Chrome Experiments

Siete pronti a sviluppare il vostro primo progetto 3D?

Ora che ti ho illustrato alcuni dei principali metodi per utilizzare effetti 3D sul web non ci resta altro che sviluppare insieme un progetto che faccia stupire tutti quelli che lo visioneranno: per maggiori informazioni scrivici dalla pagina dei contatti!

Contattaci per maggiori informazioni

Ti lascio infine a delle  slide di Google che riassumono il 3D con degli esempi molto interessanti.