Autore: Erik
Titolo: Sbarco su Tatooine
Modellazione: 3ds max
Render: Vray
Post Processing: Photoshop - Combustion

13



Concept

L'idea per questa immagine nasce dalla mia passione per l'universo Star Wars: avendo modellato qualche tempo prima il veicolo Multi Troop Transport (il bestione marrone scuro) che si vede nell'episodio 1 nella battagliadi Naboo, mi sono chiesto cosa sarebbe successo se la Federazione avesse cercato di invadere il pianeta Tatooine.
Ho iniziato a buttar giù qualcosa, e mi son convinto in fretta.
Vediamo qui sotto le prime prove per decidere l'inquadratura:

1




Reference

Le reference del veicolo e dell'arma le ho facilmente reperite su internet, mentre per quanto riguarda il droide non ho trovato nulla, per cui mi sono risolto a disegnarle da me sulla base delle molte foto disponibili.

2



Modeling & rigging

Per la modellazione, interamente poligonale, ho utilizzato 3dsmax.
Vediamo uno screenshot del modello low poly del veicolo ancora in fase di modellazione, e il render del modelll completl del droide con relativa arma.

3



I modelli sono stati quindi interamente unwrappati, sempre in 3dsmax, per poter essere texturizzati al meglio.

4


Il passo successivo è stata la creazione di un semplice rig che mi permettesse di posare i droidi nelle differenti pose necessarie, che ricordo mi creò non pochi problemi in quanto era essenzialmente il mio primo tentativo di rigging.

5




Texturing

Le texture sono state create in Photoshop partendo da varie foto poi ampiamente modificate e in parte dipinte a mano. Ho fatto ampio uso dei diversi blending mode per rovinare le texture base con altri pattern di graffi, macchie ecc precedentemente preparati.
Per il modello del droide sono state creati 3 set di texture: uno per i soldati semplici, uno per gli ufficiali e l'ultimo per le guardie degli ufficiali (non ricordo purtroppo la fonte da cui ho reperito le colorazioni :)), mentre per il veicolo ho differenziato la distribuzione di graffi e bruciature in 2-3 texture diverse.
Ho utilizzato mappe diffuse, bump e specular, e in qualche caso di displace.

6


7




Scripting

L'aspetto a mio parere più interessante del lavoro consiste nella gestione della scena: infatti il grande numero di droidi necessari mi impediva di renderizzare il tutto in un unico pass, anche tralasciando il fatto che sarebbe stato inutile tenere lo stesso livello di dettaglio su tutta la scena.
Inoltre le pose dei droidi andavano diversificate e distribuite casualmente, ma lo scatter di 3dsmax mi dava dei problemi nel senso che spesso i drodi finivano per "calpestarsi".
Innanzitutto ho creato 6 diverse pose per i soldati semplici, 2 per gli ufficiali e 2 per le guardie.
Per tutte queste 10 pose, ho creato 4 modelli diversi per livello di dettaglio: dal modello base ho semplificato fino ad ottenere, per gradi, un modello molto leggero ma che funzionava bene per essere renderizzato da grande distanza.
Per fare ciò ho utilizzato dei semplici script per evitare la ripetitività del lavoro. Ne riporto uno:

select $droid*
macros.run "Characters" "UnLockCharacter"
select geometry
deselect $droid*
for obj in selection do
(
addModifier obj (optimize())
obj.optimize.autoedge=true
obj.optimize.facethreshold1 = 25.5
obj.optimize.edgethreshold1 = 1
obj.optimize.bias1 = 0
addModifier obj (Vertex_Weld()) 
obj.Vertex_Weld.threshold=0.6
)
clearselection()
select $droid*
macros.run "Characters" "LockCharacter"
clearselection()

Vediamo come lo script selezioni tutti i droidi (che sono character),li sblocchi e poi proceda ad applicare a tutta la geometria un modificatore optimize con determinati settaggi. Alla fine rimetterà tutto in ordine bloccando nuovamente i character.
Ho poi creato anche le 4 rispettive serie di texture, e anche qui ho automatizzato il processo creando delle droplet in Photoshop, strumento a mio parere molto molto utile.
Per la disposizione dei droidi ho usato un altro script, un po più complesso:

--dispone casualmente i droidi all'interno dello spazio contrassegnato dai due oggetti limite
--i droidi devono essere già presenti, numerati progressivamente da minnum a maxnum (es da 5 12)
--gli oggetti limite saranno: limite1, limite2
--le unità di misura della scena dovranno essere tutte cm

--settaggi-------------------------------------
mindist=250 	--cm			--min distanza fra droidi,
minnum=1   				--num primo droide
maxnum=55   				--num ultimo droide
tentativi=100				--tentativi distanziamento, da usarsi con molta cautela
rot1=20			--deg		--delta rotazione
rot2=-20
pos1=$lim1.pos			  --definiz limiti posiz,eventualmente modificabili
pos2=$lim2.pos
----------------------------------------------

posizioni=#()				  --dichiaraz vettore posizioni
limite=mindist*mindist
----------------------------------------------
for i=minnum to maxnum do		  --scorre i droidi
(
if i==minnum 
then nuovapos=random pos1 pos2
else
(
k=0
troppovicino=0
do
	(
	k+=1
	nuovapos=random pos1 pos2
	for j=1 to (i-minnum)do 	--scorre il vettore delle precedenti posizioni
	(			
	d=(nuovapos.x-posizioni[j].x)*(nuovapos.x-posizioni[j].x)+(nuovapos.y-posizioni[j].y)*(nuovapos.y-posizioni[j].y)
	if d<limite 			--calcola il quadrato della distanza e lo confronta col valore limite
	then troppovicino=1
	else if troppovicino==0 then troppovicino=0
				else troppovicino=1
	)
	)
while troppovicino==1 and k<tentativi   --k evita cicli infiniti
)
------------------------
append posizioni nuovapos		  --aggiunge la posiz al vettore
if i<10 then  --controllo necessità aggiunta 0
(
execute ("$droide_infantry_0"+i as string+".pos=nuovapos")
execute ("$droide_infantry_0"+i as string+".rotation.z_rotation=random rot1 rot2")
)
else
(
execute ("$droide_infantry_"+i as string+".pos=nuovapos")
execute ("$droide_infantry_"+i as string+".rotation.z_rotation=random rot1 rot2")
)
)

Sostanzialmente lo script prende i droidi già in scena e li posiziona casualmente nell'intervallo definito da due oggetti, facendo attenzione a mantenere una distanza minima da tutti gli altri.
L'algoritmo è estremamente grezzo, approssimativo e ampiamente migliorabile (come le mie capacità di scripting d'altronde), ma ha fatto il suo lavoro :D.
Qui sotto un'immagine esemplificativa:

8



Questo script mi ha permesso di posizionare il grosso dell'esercito in maniera molto veloce.
Infine è bastato posizionato manualmente i droidi più vicini, usando come reference in viewport un render delle truppe retrostanti.

9




Lighting & rendering

Il lighting setup, veramente semplice, consiste di una sola direct.
Il rendering è stato totalmente eseguito in Vray con GI, ovviamente in diversi pass.

10




Post production

Un altra importante fase del lavoro è stata la post production in Combustion.
Essenzialmente, è stato necessario unire tutti pass renderizzati in precedenza e applicare un buon numero di effetti (fog, un po di z-depht blur, glow) oltre all'usuale color correction.
Il tutto è stato compositato sopra uno sfondo ricavato in Photoshop da una semplice foto.

Vediamo qualche step:

11


Qui è visibile l'intero albero di compositing:

12


Per una descrizione più completa, rimando al tutorial presente nella sezione Compositing e post produzione.

13


Purtoppo il lavoro in questione è molto vecchio, motivo per cui non ho potuto preparare delle immagini migliori per il making of: il solo ritrovare tutte
le texture mi avrebbe impiegato troppo tempo.
Spero comunque che questa breve descrizione possa essere utile nel dare qualche spunto per risolvere determinate problematiche in maniera diciamo non
convenzionale.
:hello:

---
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