01 Tutorial ICE – Softimage XSI, creazione di una cascata d’acqua con il sistema particellare
1) Considerando di aver creato un letto del fiume concavo, chiuso da un lato e aperto sulla “rupe” posizioniamo dei massi rotondi in prossimita’ della cascata (anch’essi gia’ modellati precedentemente) e predisposti in modo da creare dei passaggi allo scorrimento dell’acqua
2) Nella parte finale della rupe, a contrasto con il solido del letto del fiume creiamo un terreno semplicemente utilizzando primitive/polygon mesh/grid
3) Selezioniamo tutti i sassi e facciamo model/create/poly. mesh/ merge
4) Eliminiamo gli originali, freeziamo e nominiamo la mesh risultante con il nome “sassi”
5) Selezioniamo il solido “rupe”, selezioniamo il poligono verticale sul letto del fiume e da model/create/poly. mesh/extract polygon (keep), freeze, in questo modo manteniamo la geometria della rupe intatta e ne ricaviamo un poligono che fungerà da emettitore delle nostre particelle acquose.
6) Per convenienza rinominiamo il poligono “poligono emettitore”, lo spostiamo leggermente in modo che sia piu’ facile la sua selezione, andiamo nel pannello 4 “ice” e da Particles/Create selezioniamo il comando Basic Emission
7) Accediamo al pannello dei nodi “ICE Tree” con ALT+9 (se il pannello è vuoto vuol dire che abbiamo perso la selezione dell’effetto particellare; occorrerà selezionarlo dall’explorer (digitare 8 e selezionare pointcloud, aggiornare l’ICE Tree)
8) Nell’ICE Tree sono stati creati dei nodi: 2 blu, 2 verdi e uno verde oliva – Il primo blu riporta il nome della geometria che emette le particelle – Gli altri 3 sono il motore vero e proprio del sistema particellare e vanno integrati con nodi di supporto per personalizzare l’effetto che vogliamo avere.
9) Prima di procedere con l’aggiunta di nodi di dettaglio riguardanti l’emissione è giusto stabilire il comportamento che devono assumere i sassi, la rupe concava ed il terreno
10) Settaggio dei sassi: Le particelle acquose devono passare intorno ai sassi e questo è possibile utilizzando il nodo “flow around surface”. Per aggiungerlo basta scrivere il nome nel campo di ricerca dei nodi che si trova sulla sinistra dell’ICE Tree. Una volta trovato e trascinato tra gli altri nodi già presenti dobbiamo trascinarci anche la geometria dei sassi direttamente dall’explorer e collegare il suo nodo “value” al nodo “surface” di “flow around surface”. Quest’ultimo andrà collegato ad “excute 1” del “simulation root”. In seguito ci occuperemo di perfezionare il valore di alcuni parametri.
11) Settaggio della rupe concava con i relativi nodi: La rupe concava deve poter far scivolare e rimbalzare le particelle acquose. a. Per poterle fare scivolare utilizzeremo un nodo chiamato “slide on surface” b. Per poterle fare rimbalzare utilizzeremo un nodo chiamato “bounce off surface” Questi due nodi non possono essere collegati direttamente al motore particellare ma necessitano di 2 nodi aggiuntivi che sono uno “state particles” e uno “state machine” Il collegamento sarà così composto: da sinistra a destra troveremo: c. La geometria di rimbalzo e scivolamento (GET rupe concava, che andrà aggiunta sempre dall’explorer) d. Dalla porta viola della rupe concava partirà un collegamento alla porta “surface” del nodo “slide on surface” e. Sempre dalla stessa porta viola della rupe concava partirà un collegamento alla porta “surface” del nodo “bounce off surface” f. “Slide on surface” andrà collegato tramite la porta “execute” ad un rispettivo state nella porta “execute every frame 1” g. “bounce off surface” andrà collegato tramite la porta “execute” al rispettivo state nella porta “execute once on enter state 1”s h. Entrambi gli state andranno collegati alla state machine in execute state 1 e in execute state 2 i. La state machine andrà collegata alla porta “execute 2” del “simulation root”
12) Settaggio del terreno con i relativi nodi: Il terreno stabilirà la “morte” delle particelle cadute ovvero quando le particelle toccheranno il terreno verranno cancellate e termineranno di esistere. Per fare questo occorre utilizzare il nodo “delete particle by volume”. Come prima collegare il nodo viola di “Get Terreno” a volume 1 di “delete particles by volume” e questo a “port 2” del nodo ICE Tree. E’ importante che nel nodo ICE Tree il “delete particle by volume” rimanga all’ultimo posto (in quanto è l’ultimo evento che succederà alle particelle)
13) Ora è il momento di indicare la geometria che si occuperà di emettere le particelle (il nostro poligono estratto rinominato appunto “POLIGONO EMETTITORE”). Con la tecnica di prima trascinare il poligono dall’explorer all’ICE Tree e collegare la sua porta “value” di uscita alla porta “Emitter 1” del nodo “Emit from Geometry”.
14) Ora che il comportamento delle geometrie nella scena è stato definito è importante definire il comportamento delle particelle. Prima di fare ciò deve essere aggiunta la forza di gravità che spingerà le particelle a cadere dalla rupe. Bisognerà aggiungere il nodo “Gravity force” collegarlo al nodo “add force” che sarà collegato alla porta “forces” del “simulation root”.
15) Ora ci resta che dire all’emettitore che le particelle vengano create in modo casuale tramite “randomize emitter value” ed in modo disordinato “turbulize emitter value” Randomize emitter value andrà collegato al nodo “Size” dell’insieme dei nodi verde oliva (Emit from Geometry) e questo farà sì che la grandezza delle particelle sarà casuale. Turbulize emitter value andrà collegato al nodo “Direction” dell’insieme dei nodi verde oliva (Emit from Geometry) A questo punto che tutto e’ predisposto bisognera’ fare delle modifiche ad alcuni parametri dei nodi (questi settaggi possono essere personalizzati come uno crede sia piu’ opportuno) Lasciando invariate le altre opzioni clicchiamo due volte sul nodo “Emit from Geometry” e modifichiamo il “rate” portandolo a “3000” che è un valore riferito all’emissione di particelle al secondo. Cambiamo inoltre lo “State ID” a “State 1”. Andiamo nel nodo “Bounce off Surface” e a “select Bounce side” impostiamo “Bounce off Outside of Surface” Nel nodo “flow around surface” impostiamo “weight” a “0,08”, “cutoff distance” a “0,2” poi dal menu a tendina “select velocity control method” impostiamo “set new velocity” e in “new velocity” mettiamo il valore 4. In entrambi gli “state” (sia in “slide on surface” che in “bounce off surface”) selezionare l’opzione “state 1” al posto dei campi “state 0”. Una volta effettuati tutti questi settaggi proviamo il nostro effetto particellare premendo il tasto “play” della timeline. Se tutto va bene e l’effetto cascata ci sembra adeguato procediamo creando un materiale che renderà più verosimile la nostra acqua nel momento in cui verrà renderizzata.
A) Affidiamo un materiale al nostro “pointcloud”
B) Apriamo il “render tree” con il nostro “pointcloud” selezionato, aggiorniamo il “render tree” ed aggiungiamo 2 nodi importanti: a. “Particle renderer” b. “particle shaper”
C) Scolleghiamo lo shader del materiale ed al nodo volume del materiale colleghiamoci “volume” di “particle renderer”. Il nodo “density” in uscita da “particle shaper” lo colleghiamo al nodo in entrata “density shape” di “particle renderer”.
D) Il materiale è fatto, bisogna ora perfezionare alcuni parametri: – In Particle shaper modificare: a. Irregular shape (Intensity=3) b. Cell shape: (Intensity=0,8) e (texture scale=80) – In particle Renderer modificare: c. Density limit=0,35 d. Global Density=60 e. Shadow Adjust=0 Ora possiamo fare il nostro rendering finale ed eventualmente apportare modifiche a nostro piacimento.