Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
nicolce

Procedural Modeling

Recommended Posts

Ciao a tutti.

In questo breve tutorial mostrerò come modellare una superficie utilizzando il modificatore displace di 3ds Max.

Alla fine farò vedere anche un po' di render e post, senza soffermarmi troppo in spiegazioni, il tema di questo tutorial è la modellazione procedurale della roccia.

Innanzi tutto bisogna pensare bene all'effetto che vogliamo ottenere, la cosa migliore è armarsi di un buon motore di ricerca e riempire una cartella di reference.

Dalle foto possiamo ricavare elementi preziosi per il nostro lavoro di modellazione.

Ad esempio, in queste reference è evidente la stratificazione orizzontale di rocce di diverso colore.

1834578359_d7ec09eb8b.jpg

1806430340_5e0a948ae1.jpg

Per iniziare basta una forma anche molto semplice, in questo caso una spline estrusa

Nel modificatore "extrude" ho selezionato l'opzione "generate mapping coord."

img01.jpg

Sopra il modificatore extrude ho inserito un primo turbosmooth...

img02.jpg

...e sopra il turbosmooth ho inserito un primo modificatore displace.

Nel modificatore displace ho selezionato "use existing mapping" per sfruttare le coordinate generate in precedenza ne modificatore extrude.

img03.jpg

Il primo displace mi serve per deformare grossolanamente la geometria, per questo ho assegnato un valore di scostamento di qualche decina di metri e ho inserito un noise piuttosto ampio per controllare l'effetto.

Nelle opzioni di mappatura del noise ho selezionato "explicit map channel" per mappare correttamente il noise sulle coordinate generate in precedenza.

img04.jpg

A questo punto ho inserito un'altro turbosmooth per aumentare ulteriormente la suddivisione.

Fra le opzioni del turbosmooth notiamo che è possibile differenziare il numero di suddivisioni in viewport e in render, questo può essere utile per ottenere un buon dettaglio mantenendo leggera la viewport.

img05.jpg

Sopra quest'ultimo turbosmooth inserisco l'ultimo displace, questo servirà a generare tutto il dettaglio geometrico della roccia.

img06.jpg

La mappa che ho usato nell'ultimo displa è una mix map contenente diversi noise mixati fra loro.

L'elemento caratteristico della roccia che ho scelto di riprodurre è la stratificazione orizzontale, quindi ho usato le opzioni delle mappe di conseguenza, in particolare le opzioni size e tile.

Ovviamente non tutti i noise avranno una struttura orizzontale, come mixmap utilizzerò anche dei noise regolari o verticali, per interrompere l'orizzontalità e dare un po' di irregolarità al risultato finale.

La varietà di effetti che si possono ottenere è molto vasta, vi invito a sperimentare voi stessi le diverse mappe procedurali (noise, cellular, spleckle, gradient ramp .... etc etc.).

La mixmap e la sua struttura:

img07.jpg

Uno dei noise all'interno della mixmap:

img07_bis.jpg

Mentre lavoro sulle mappe posso alzare e abbassare il dettaglio, variando le iterazioni del Tsmooth.

Tenendo un'alto numero di suddivisioni rendertime avremo una sorta di "antenato" dei moderni subpolygon displacement.

img08.jpg

img09.jpg

Quando sono soddisfatto della geometria posso creare uno shader, riutilizzando la mixmap, le mappe al suo interno, o altre procedurali o bitmap.

Posso anche decidere di trasferire il displacement dal modificatore ad uno shader mental ray, per usufruire della modalità di suddivisione "view dependent", per farlo basterà copiare la mappa nell'apposito slot del materiale e cancellare il modificatore.

Dopo aver fatto un setup basilare con un daylight posso fare un primo "render"...

cliff_render01_W.jpg

Che dire, la geometria non è male, ma il render è piatto e un po' bruttino :(

Fa niente, c'è photoshop! :D

Lo stesso render lo salvo in tiff 16bit e gli do' di curve, layer blending, glow, grain, sfocatura, abberrazione cromatica e chi più ne ha più ne metta.

cliff_final.jpg

La scena finale in formato max 2009: download

Spero vi sia piaciuto.

Ciao :)

post-33670-1255944904.gif


Edited by nicolce

Share this post


Link to post
Share on other sites

Vantaggi di questa tecnica rispetto ad un'approccio "manuale"

-La geometria dopo essere stata creata può essere modificata facilmente variando i valori delle mappe utilizzate e nidificandone di nuove.

-La definizione della geometria e delle mappe è "scalabile", basta aumentare o diminuire i livelli dello smooth e degli shader per dettagliare o alleggerire la mesh.

-Le mappe procedurali sono derivate da pattern definiti matematicamente quindi non sono vincolate ad una risoluzione in pixel.

-Molte mappe procedurali sono frattali, questo significa che il dettaglio si può ripetere per svariati livelli fino a dimensioni microscopiche.

-Si possono generare geometrie molto definite mantenendo un file di dimensioni estremamente ridotte, in questo caso soltanto 360kb.

Approfondimenti

Per chi volesse approfondire questi argomenti consiglio i libri di Pete Draper Deconstructing the Elements in 3ds Max, prima e seconda edizione e i tutorial gratuiti sul suo sito http://www.xenomorphic.co.uk/education.htm.

Nei suoi testi oltre alle mappe procedurali ci sono anche degli esempi molto interessanti circa Particle Flow.

Ciao


Edited by nicolce

Share this post


Link to post
Share on other sites

bello nicole...anche io sto valutando l'effetiva qualita` del mod displace!

inoltre e` molto comodo a mio avviso anche per visualizzare un effetto di bump di mappe procedurali...che in viewport con non si ha mai la preview...lo si usa nel displace e se ne vedono gli effetti...poi lo si inserisce nel canale di bump. o simile.

Questi libri e` un po che li citi....dovro` decidermi a prenderli prima o poi!!

Share this post


Link to post
Share on other sites

sai che non avevo mai pensato a questa tecnica??in effetti conviene utilizzarla per averne una preview e poi inserire l'ultima mappa creata nel canale displacement degli A&D..ottimo tutorial

grazieeeeeeeeeee

Share this post


Link to post
Share on other sites

Sono contento che lo abbiate trovato interessante.

Comunque non crediate che sia poi tanto pesante da renderizzare direttamente con il modificatore displace, spesso io faccio così e mi pare che sia anche più veloce rispetto al subpolygon displacement di mental, forse pesa qualcosa di più in termini di memoria, ma non sono sicuro.

Magari faccio un paio di test con i tempi e ve li mostro nei prossimi giorni.

Ciao.

Share this post


Link to post
Share on other sites
sai che non avevo mai pensato a questa tecnica??in effetti conviene utilizzarla per averne una preview e poi inserire l'ultima mappa creata nel canale displacement degli A&D..ottimo tutorial

grazieeeeeeeeeee

esattamente...io la trovo utilissima...proprio perche` la preview delle procedurali e` impossibile.

Comunque non crediate che sia poi tanto pesante da renderizzare direttamente con il modificatore displace,

No infatti lo preferisco anche io al displace di mental. questa tacnica la uso spesso per la preview del bump...magari del filo dell'acqua di una piscina!! dove la wave procedurale e` favolosa...ma solo potendola vedere in anteprima!!

Share this post


Link to post
Share on other sites

che dire nico, come al solito regali delle perle di saggezza che oltre a essere utili sul caso specifico finiscono per aprirti la mente e farti pensare a nuove vie per affrontare i problemi...

bel lavoro! ;):D

già che l'hai citato, sarebbe interessante anche sapere in che modo applichi l'abberrazione cromatica...

sfasi semplicemente i canali dell'rgb o c'è qualche barbatrucco che fin'ora non ho scoperto?

(son sfacciato, hai appena finito un tutorial e te ne chiedo un altro! :blush::rolleyes:B)

saluti!

:hello:

Share this post


Link to post
Share on other sites

hehehe.... bene bene, è così ho scoperto un barbatrucco in più...

non ho mai avuto necessità di utilizzare l'abberrazione, ma ultimammente mi stavo ponendo alcune domande a riguardo...

grazie della dritta, e prima o poi me li devo proprio prendere i libri che consigli....

sarà un tre anni ormai che ne leggo meraviglie! :P

grazie e alla prossima...

Share this post


Link to post
Share on other sites

vorrei aggiungere che col modificatore displace si può, in modo semplice, definire una geometria 3d di terreno partendo da curve altimetriche in autocad.

il procedimento è molto semplice ed efficiace se si segue il seguente procedimento:

1- si crea una stampa in pdf delle curve di livello del terreno dal file di autocad

2- si apre in ps il pdf con risoluzioen sufficiente al risultato che si vuole poi ottenere come output finale della mappa di displace del terreno

3- si contano il numero di livelli contenuti nella propria immagine. In particolare conta l'area contenuta tra 2 curve.

4- a questo punto la parte meno intuitiva: bisogna colorare con toni di grigio le varie aree partendo dal bianco fino al nero rispettando la semplice regola che l'intervallo in rgb tra le tonalità deve essere uguale per tutte le aree.

Ad esempio: se ci sono 20 quote altimetriche, avremo bisogno di 20 toni di grigio. se partiamo dal bianco per il primo livello più alto avremo rgb= 255, 255, 255 b/l = 100, potremo usare per livello successivo un grigio b/l= 250, poi 245..240 e così via....l'importante come dicevo è mantenere l'intervallo costante

5- in un nuovo livello si seleziona la parte di terreno più alta, quindi le parti contenute dalla curva di livello che rappresenta la quota più alta. Si colora di bianco la selezione.

6- come per il punto 4 si ripete la procedura selezionando l'area successiva e la si colora con la tonalità di grigio corrispondente.

7- in max creare il piano con le dimensioni opportune tale che abbia le stesse proporzioni della mappa appena creata.

il piano dovra essere suddiviso, si potrà poi controllare il parametro successivamente come nel tutorial di nico

8- applicare il modificatore displace e regolare la strenght in modo che la'ltezza complesisva corrsiponda alla distanza tra le quote minima e massima della mappa.

9- il gioco è fatto. regolare poi per ottenere l'effetto desiderato, il tiling del piano e l'eventuale mesh-smoothing

infine si può applicare alla mappa un leggero gaussian blur se le curve risultano troppo a scalinata.

ciao

teo

Share this post


Link to post
Share on other sites

Mi sembra un procedimento estremamente macchinoso.

Le isoipse dei rilievi topografici e delle carte tecniche regionali sono già in quota.

Per ottenerne una superficie basta importare le isoipse in max e buttarle dentro ad un compound terrain, che fral'altro accetta anche linee spezzettate.

Share this post


Link to post
Share on other sites

Mi sono dimenticato un passaggio.

Se il terrain fa qualche errore a livello topologico si può usare il displa per trasferire l'elevazione su un plane a maglia regolare.

Si può ricavare una mappa di displacement dal terrain, usando il render to texture.

Oppure si può ottenere la heightmap facendo un semplice render dalla vista top, basta spegnere tutte le luci e tonemapper e assegnare al terrain un materiale autoilluminante con un gradient mappato su ZX.

Spero si sia capito :) ...


Edited by nicolce

Share this post


Link to post
Share on other sites
Mi sembra un procedimento estremamente macchinoso.

Le isoipse dei rilievi topografici e delle carte tecniche regionali sono già in quota.

Per ottenerne una superficie basta importare le isoipse in max e buttarle dentro ad un compound terrain, che fral'altro accetta anche linee spezzettate.

era un procedimento inerente al tema del tutorial, visto che si parla di modellazione procedurale con displace

sicuramente è macchinosa la fase di colorazione in ps ma il risultato, fidati, è molto più soddisfacente di quanto si possa ottenere con il metodo terrain.

ho dei problemi ad allegari i file di esempio

se riesco lo faccio domani

Share this post


Link to post
Share on other sites

Certo certo, il risultato è sicuramente buono, ma è un procedimento lungo e macchinoso se devi colorare molte isoipse, senza contare che se le linee sono aperte le devi unire per poterle secchiellare :)

Ho fatto una serie di terreni da ctr, se avessi dovuto chiudere e colorare tutte le isoipse a mano sarei impazzito.

Ti posto un po' di screenshots di uno dei terreni che ho fatto.

Le isoipse:

img_01.gif

Il terrain compound:

img_02.jpg

La sua orribile topologia:

img_03.jpg

Il terrain mappato con un gradient lineare

img_04.jpg

La mappa risultante:

img_05.jpg

(questo è solo un jpg, ma il file originale è un'hdr a 32bit con una sfumatura molto più graduale)

Il nuovo terreno, ricavato con il displa da un piano:

img_06.jpg

Più suddivisioni:

img_07.jpg

Con questo metodo è possibile ottenere un terreno anche molto esteso in pochi minuti di lavoro.

Share this post


Link to post
Share on other sites
Certo certo, il risultato è sicuramente buono, ma è un procedimento lungo e macchinoso se devi colorare molte isoipse, senza contare che se le linee sono aperte le devi unire per poterle secchiellare :)

Ho fatto una serie di terreni da ctr, se avessi dovuto chiudere e colorare tutte le isoipse a mano sarei impazzito.

Ti posto un po' di screenshots di uno dei terreni che ho fatto.

Le isoipse:

Il terrain compound:

La sua orribile topologia:

Il terrain mappato con un gradient lineare

La mappa risultante:

(questo è solo un jpg, ma il file originale è un'hdr a 32bit con una sfumatura molto più graduale)

Il nuovo terreno, ricavato con il displa da un piano:

Più suddivisioni:

Con questo metodo è possibile ottenere un terreno anche molto esteso in pochi minuti di lavoro.

si ottimo mi hai convinto

se si parte dal modello ottenuto col compound terrain, poi è un giochetto ricreare la mappa di displace come mostri tu.

ciao


Edited by nicolce

Share this post


Link to post
Share on other sites

Molto ... molto ... utile :Clap03:

Mi accodo ai ringraziamenti e ai complimenti sia per la qualità del tutorial che per l'argomento proposto.

Ultimamente sto utilizzando moltissimo le procedurali , e sono molto interessato ad ogni loro applicazione.

Grazie anche per i titoli segnalati ;)

Provvederò molto presto a mettere in pratica questo procedimento ;) ...... grazie davvero ;)

Rosty

Share this post


Link to post
Share on other sites

Bene, sono contento che il mio metodo per i terreni vi abbia convinto :)

@guitarcrazyo, it's not lightwave, it's 3ds max. Your tecnique can be used in 3ds, but if you bake a procedural you lose definition, so I suggest to bake procedurals only if you want to mix them with photographic textures in photoshop.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x