Autore: Erik
Titolo: Contest IX "Wonder of the world" - Faro di Aleessandria, 729 dc
Modellazione: 3Dstudio Max
Render: Vray
Post Processing: Photoshop, Shake

gallery 6117 216 612954



Concept
I secolo avanti Cristo: Erone il Vecchio inventa e costruisce la prima macchina a vapore, nota ai posteri come la Macchina di Erone. Per decenni il meccanismo svolge la sua funzione nel tempio di Serapide di Alessandria d'Egitto, finchè un giorno l'energia del vapore inizia ad essere utilizzata per altri scopi: inizialmente semplici cose per lo più per intrattenere le classi più elevate, poi si passa a piccoli motori, gru, paranchi. In pochi anni la nuova scoperta trasforma Alessandria d'Egitto nella più grande potenza economica e militare del Mediterraneo: con Roma ridotta a poco più che un villaggio e le polis greche sottomesse non c'è più freno all'ambizione dei potenti. Nasce il Primo Impero Tolemaico, dall'Atlantico alla penisola indiana.
Una volta ottenuto il controllo dell'intero mondo conosciuto, i commerci fioriscono: ricchezze mai viste approdano in città, e il grande Faro costruito secoli prima viene potenziato ed elevato a monumento alla potenza della nazione.
Ben presto la forza lavoro viene sostituita completamente da meccanismi automatici, dando il via ad una nuova era di ricchezza, benessere e ostentazione.
Ma l'ingordigia è nemica della lungimiranza: la tecnologia non progredisce, e presto le quantità di inquinanti emesse per far fronte alle necessità dell'enorme impero con la sola forza del vapore causano una grave catastrofe, resa possibile dall'ignoranza dei più grandi sapienti dell'epoca.
La calotta glaciale marcia sull'Impero Tolemaico, inghiottendone in pochi decenni le parti settentrionali: il Grande Freddo è alle porte, e Alessandria d'Egitto si prepara come può.
In questi giorni bui il Faro guida i mercantili di ritorno dal Nord: l'incessante via vai permette di mantenere vive le comunità che ancora resistono.

Da questa idea iniziale ho sviluppato un primissimo schizzo:

01 concept01


Il concept si è poi evoluto in parallelo al progetto, con una serie di schizzi successivi realizzati direttamente a partire dai render del modello, in modo da avere sempre ben chiara la via da seguire.
In particolare lo stile degli edifici ha richiesto un po’ di tempo per essere delineato con chiarezza.

02 concept02


La zona del faro è basata sommariamente sulla reale conformazione geografica del luogo.

03 concept03



Reference
Come sempre la fase di ricerca di reference ha richiesto un po di tempo: principalmente ho collezionato un po di immagini di edifici di Antonio Sant’Elia (link: http://it.wikipedia....tonio_Sant'Elia) e diverse foto di iceberg, ghiaccio e simili: una difficoltà che ho avuto è il fatto che non sono stato in grado di trovare una foto di un iceberg nelle condizioni di luce che servivano a me, ma solo iceberg sotto un sole a picco.


Modeling
La modellazione, molto semplice, non ha presentato particolari difficoltà.
Vediamo un clay render del modello completo (anche se in realtà la modellazione non è stata completata in una sola fase):

04 model


E un render in pianta della zona del faro: (ho rimosso il mare per chiarezza)

05 model2


E qui finisce la parte semplice: una fra le sfide nella realizzazione di questa immagine era la creazione di mare, ghiaccio e neve.

MARE
Il modello del mare è stato creato in maniera abbastanza semplice: ad un piano fittamente suddiviso ho aggiunto un modificatore Displace per creare le onde più grandi, con una mappa noise abbastanza morbida:

06 sea noisedispl


Su questo ho applicato, oltre al necessario UVWmap, un modificatore VrayDisplacement con una mappa data da un multiply fra da due versioni diversamente mappate di una stessa texture:

07 sea noisevrdispl


E con questo il modello è pronto.
Lo shader è un semplice VrayMaterial, con riflessione fresnel e una mappa falloff nel canale diffuse:

08 sea shader


09 sea falloff


Ed ecco il risultato, renderizzato da una vista differente:

10 sea


Ovviamente, per ridurre al minimo il consumo di risorse, ho realizzato il mare non con una singola mesh ma dividendolo in più oggetti, in modo da poter ridurre progressivamente le suddivisioni dei modificatori VrayDisplacement nelle zone più lontane, dove è necessario meno dettaglio.

NEVE
Per la creazione della neve sugli edifici ho utilizzato una versione modificata dello script SnowMaker di Nik Clark che ho provveduto a correggere (c’erano addirittura degli errori di battitura) e modificare per ottenerne qualcosa di più: lo script si limita a selezionare le facce superiori (quindi le facce la cui normale si discosta dalla verticale entro una certa soglia massima), estruderle ed applicare un Meshsmooth: nella sua semplicità consente di ottenere delle buone mesh di partenza in maniera molto veloce.
Ecco lo script:

Script

Ho poi modificato con i tool standard di modellazione poligonale le mesh così create per correggere eventuali errori ed aggiungere un po di variabilità.
Infine, lo shader per la neve:

11 snow shader


GHIACCIO
La creazione del ghiaccio in mare ha presentato qualche difficoltà in più: dal momento che era impensabile mettersi a modellare manualmente una distesa di frammenti di pack era necessario un approccio procedurale che desse un buon risultato senza costringermi a perdere troppo tempo.
La soluzione è arrivata ancora una volta da un piano con un VrayDisplacement.
Questo è posto appena sotto il piano del mare, e ho impostato il parametro amount in maniera da far spuntare il ghiaccio dall’acqua nella quantità necessaria.
Ho anche attivato l’opzione “water level” per eliminare la geometria che rimane sommersa, onde evitare un inutile spreco di risorse.
La parte più importante per una buon risultato è la mappa da utilizzare: io ho usato una mappa Cellular con una mappa noise come Cell color

12 pack cellular


Il risultato, una volta applicato uno shader molto simile a quello della neve, è abbastanza buono.

13 pack render.


Da notare che un numero insufficiente di iterazioni nella mappa Cellular portava ad un pessimo risultato. Il confronto fra 8 e 4 iterazioni è eloquente:

14 pack iteraz.


Gli iceberg più grandi sono stati poi modellati con il solito approccio poligonale, ma ho anche utilizzato il tool deformation paint dell’editable poly.


Texture & shader
La fase di texturing è stata forse la più impegnativa, dato il numero di texture da realizzare.
Praticamente tutte le immagini utilizzate sono state reperite dal sito cgtextures.com.
Inizialmente ho realizzato delle texture provvisorie e delle mappature veloci per cercare di farmi un’idea di che materiale assegnare alle varie strutture: visto che ancora non avevo in mente una soluzione precisa, questa fase mi ha permesso in breve tempo e con relativamente poco sforzo di provare diverse combinazioni di materiali e farmi un’idea piuttosto precisa di quella che preferivo.
Vediamo un immagine di questa fase:

15 text provvisorie


Una volta chiarito il da farsi (perché mai bisogna imbarcarsi prima di aver ben chiara la direzione) ho proseguito con l’unwrap delle strutture e la realizzazione delle texture definitive, sulla base di quelle precedenti, con l’aggiunta di dettagli e di tutto il necessario.
Per ogni oggetto ho creato texture per i canali diffuse, specular (reflection) e bump (o displace).

Vediamo un paio di esempi:

16 text es01


17 text es02


Per la creazione dei bulloni delle lamiere del faro ho preparato un pennello personalizzato in Photoshop, che mi ha enormemente semplificato il lavoro.
L’immagine utilizzata è questa, ricavata da una foto:

18 brush


Impostando i parametri del pennello personalizzato (principalmente inclinazione e spaziatura) mi è stato possibile distribuire i bulloni in maniera molto semplice e veloce.

Infine una nota sulle dimensioni delle texture: al fine di non sovradimensionarle (faccenda problematica in un lavoro del genere, dato il buon numero di texture abbastanza grandi che potevano riempire in fretta la Ram disponibile), andavo a misurare la dimensione in pixel dell’oggetto una volta renderizzato alla risoluzione prevista e dimensionavo la texture di conseguenza, abbondando magari di un 10-15%.

Es: se una facciata di un edificio occupa in altezza 1/3 di immagine, misura per es 1500/3=500 pixel (supponendo una risoluzione di render di 3000x1500). Ora, la mia texture dovrà garantire almeno 500 pixel in altezza: ovvio che se nella texture devo inserire, chessò, 2 facciate una sopra l’altra, dovrò realizzarla di almeno 1000-1100 pixel.

Un altro approccio che ho usato per qualche oggetto è quello di mantenere costante il rapporto metri\pixel: posta per es una risoluzione di 150 pixel\metro andavo a realizzare 4-5 texture simili con questa risoluzione, ovviamente variando la dimensione proporzionalmente alle dimensioni dell’oggetto considerato. Questo da un lato porta a creare texture più grandi del necessario per gli oggetti più lontani, ma evita di dover fare un sacco di calcoli per creare texture in scala fra loro.


Lighting
La luce principale è una Direct bianca con multiplier abbastanza basso (0,35) e Area Shadow attivate e molto soft. Ho poi aggiunto una Vraylight per illuminare ulteriormente la parte alta del faro e una Hdri nello slot GI Environment di Vray per la luce ambientale.
Ovviamente in scena sono presenti diverse altre luci, come i lampioni, la lanterna del faro, le luci all’interno degli edifici.
Vediamo uno screenshot della scena:

19 lighting screen



Rendering
Per il rendering ho diviso la scena in 2 parti, foreground e background, sia per limitare il consumo di risorse sia per facilitare la postproduzione.
La zona della nave, in quanto aggiunta in extremis, è stata renderizzata a parte successivamente.
Per risparmiare risorse ho utilizzato l’opzione di Vray “render to Vray raw image file”: questo accorgimento, unito alla separazione della scena in 2 parti, mi ha permesso di renderizzare senza problemi alla decente risoluzione di 3000x1500. Nota: con l’opzione “render to Vray raw image file” è possibile renderizzare a risoluzioni elevatissime, in questo caso il fattore limitante era la pesantezza della scena (modello, texture e displacement) e non la risoluzione.

Oltre ai 2 (3 con la nave) rendering principali con Vray ho utilizzato MentalRay (per il suo ottimo motionblur) e lo scanline (per la sua velocità) per renderizzare molti altri pass: neve (particellari), fog, volumetriche, l’immancabile z-depht e altro.

Vediamo qualche layer:

20 layers fg


21 layers ao


22 layers neve


Nota: alla camera ho aggiunto un modificatore Camera Correction per raddrizzare un po’ le verticali, raggiungibile dal menu Modifiers - Cameras.

SCRIPTING: CREAZIONE DEL FUMO
Discorso a parte merita la creazione dei vari sbuffi di fumo presenti in scena. Non volendo utilizzare foto, mi sono impegnato per tirare fuori qualcosa di buono da quello che avevo.
Già da un po’ di tempo avevo scaricato il plugin gratuito DustDevil (Blur Studio): questo è un effetto atmosferico per 3dsmax, basato sull’effetto fire, che crea delle sfere fumose di decente qualità.
Il problema principale nell’uso di questo plugin era l’eccessiva uniformità del risultato ottenuto e che poteva essere distribuito solo all’interno di gizmo atmosferici, con la conseguenza che potevo creare solo nubi sferiche o quadrate.
Allora ho pensato di utilizzare un particellare per creare la colonna di fumo, vista la semplicità con cui è possibile dare forma ad una cosa del genere in particle flow con l’utilizzo di un paio di forze (gravità e vento spesso sono già sufficienti).
A questa “struttura particellare” della massa di fumo ora bisogna aggiungere dei gizmo, per poterci applicare l’effetto DustDevil. Ed è proprio per questo scopo che ho scritto un breve script che legge le posizioni di tutte le particelle dell’emettitore e in ognuna crea un gizmo sferico. Il raggio del gizmo dipenderà essenzialmente dall’età della particella.
Questo dava già un discreto risultato, ma ancora il tutto era troppo uniforme.
Per rimediare ho fatto essenzialmente 3 cose: innanzitutto ho agito sul particellare, inserendo dei controlli sull’età delle particelle che quindi, mano a mano che si allontanano dall’emettitore, assumono comportamenti diversi (inizialmente sono influenzate pesantemente dal vento, poi la colonna rallenta e “si gonfia”, infine prende a salire verso l’alto). Questo ha richiesto l’osservazione di parecchie foto: ho capito peraltro che ogni colonna di fumo è diversa dall’altra…
Vediamo le impostazioni e uno screenshot del particellare:

23 particle screen


24 particle impost


Secondo accorgimento: ho creato non 1 ma 3 effetti diversi, che andavo ad assegnare ai vari gizmo in funzione dell’età della particella corrispondente: quindi le particelle appena emesse si trovano ad avere un effetto molto più denso e compatto delle particelle che già stanno salendo verso l’alto, dove il fumo è più rarefatto.
Le impostazioni che ho usato sono queste:

25 dustdevil


Infine ho aggiunto variabilità a tutti i controlli, con la funzione random nello script e con l’apposita funzione nei controlli degli Age Test di particle flow.
Il risultato ottenuto con questo sistema è stato piuttosto buono, e soprattutto si tratta di un sistema molto flessibile data la sua natura di commistione fra 3 diversi aspetti (particle flow, effetto atmosferico e script) che permette infinite combinazioni.

26 fumo


E infine un’occhiata allo script:
Script


Mattepainting & Post
Per lo sfondo ho realizzato un semplice mattepainting, sulla base dei render già disponibili e dell’Hdri che ho utilizzato per l’illuminazione, in modo che lo sfondo risultasse abbastanza coerente con la luce in scena.
Qualche fase della realizzazione:

27 mattep wip


Una volta ottenuti tutti i layer necessari ho assemblato il tutto in Shake.
Dopo la color correction dei vari livelli ho aggiunto gli usuali AO, dof blur, fog, glow e i vari effetti renderizzati. Poi ho inserito dei nodi di color correction che andassero ad agire in zone ben specifiche e dei gradienti circolari (un po’ di vignette) per caratterizzare l’immagine.
Seppur laboriosa, visto il discreto numero di layer da mettere insieme e la moltitudine di correzioni che ho fatto, in fase di compositing non ho utilizzato particolari tecniche o accorgimenti al di fuori delle normali conoscenze di base.
Vediamo qualche fase della postproduzione:

28 compo


IMMAGINE FINALE

gallery 6117 216 612954


---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui