Buongiorno a tutti, durante un lavoro che sto facendo ho avuto la necessita' di creare della vegetazione dinamica, di metodi per realizzarla ne esistono diversi, quello che e' venuto in mente a me (non so se qualcuno lo utilizza gia', ma in rete non ho trovato nulla a riguardo) e' di utilizzare l'hair system.
Questo metodo mi rimane abbastanza comodo perche' mi permette di lavorare con le nurbs senza dover creare ik.

Chiedo scusa sin da ora perche' non sono affatto bravo a spiegare le cose, infatti ho inserito il maggior numero di immagini possibile, in modo da essere chiaro.
In ogni caso se qualcosa non fosse chiaro, basta chiedere.

Io voglio che tutti i rami e ramoscelli si muovano in maniera corretta, quindi tenendo conto soprattutto dello spessore, inoltre i ramoscelli dovranno seguire il movimento dei rami e le foglie quello dei ramoscelli.

Per fare questo, come ho gia' detto, utilizzero' l'hair system di maya, uno strumento davvero completo, ottimo per fare molte cose oltre ai capelli, io l'ho usato spesso per fare un sacco di elementi dinamici come per esempio tende, meduse, polpi, bandiere, ecc...

la prima cosa da fare e' creare una CV Curve nella vista frontale che utilizzeremo come tronco, diamo alla curva una andamento lievemente ondulato in XZ e alla base creiamo un cerchio che servira' per delimitarne il volume, come in figura.

NB.: Nel Tool Settings assicurarsi che sia selezionata la modalita' "3 Cubic"

1

Ora effettuiamo un rebuild della curva in modo da avere, quando creeremo la superficie, una disposizione omogenea delle isoparametriche, per questo selezioniamo l'option box della voce "rebuild Curve", nel menu' "Edit Curves"

1 bis

Nelle opzioni del rebuild selezioniamo Rebuild Type Uniform, Parameter Range 0 to 1, Keep Ends e Degree 3 Cubic.
Impostiamo un Number of Spans decente, questo dipende dalla risoluzione che intendiamo dare alla superficie, io ho messo 8.
Cicchiamo su Rebuild.
Come si vede nella figura gli 8 control vertex sono stati distribuiti lungo la linea in modo uniforme.

2

NB.: Quando parliamo di dinamiche, non e' la stessa cosa fare rebuild della curva piuttosto che della superficie risultante, il target della dinamica e la curva, non la superficie, quella e' una conseguenza.

A questo punto selezioniamo prima il cerchio e poi la curva ed entriamo nell'Option Box di Surfaces>Extrude

2 bis

Settare i parametri come in figura e fare Extrude

3

Ora aggiustiamo i Control Vertex della superficie per darle un andamento somigliante a quello del tronco di un albero

4

Ora creiamo il primo hair system da menu' Dynamics>Hair andiamo sull'Option Box di Create Hair

4 bis

Settiamo i parametri come in figura e clicchiamo cu Create Hairs

5

L'hair system di Maya crea dei follicoli sulla superficie ad essi possono corrispondere delle curve, dei Paint Effects o entrambe le cose.
Nel nostro caso ai follicoli faremo corrispondere delle curve che utilizzeremo per fare i rami.

6

A questo punto diamo una prima potata al nostro albero eliminando quei follicoli che sono in zone dove non vogliamo ci siano rami, ad esempio alla base del tronco.

Poi, selezionando il follicolo, dall'attribute editor (Ctrl+A) possiamo spostarlo cambiando la sua posizione UV rispetto alla superficie.

7

Accorciamo anche la lunghezza dei rami man mano che ci avviciniamo alla sommita' dell'albero, per farlo basta selezionare i vertici delle curve che bisogna "potare" e cancellarli.

Ora iniziamo a settare i parametri dinamici dei nostri rami.

Tip: per comodita' ritengo opportuno aggiungere un paio di comandi nel Custom shelf:
    - Entriamo nello shelf "Custom"
    - Dal menu Dynamics andiamo con il puntatore sopra Solvers>Interactive Playback


    7 bis

    - Ctrl+Shift+Click e vedremo il simbolo comparire nello shelf
    (l'interactive playback lo troviamo anche negli shelves "Hair" e "nCloth" ma
        personalmente trovo + comodo mettere nel Custom tutti i comandi che mi servono  
        per il lavoro che sto facendo, considerando anche il fatto che quelli che che ci
        apprestiamo ad aggiungere ora, li utilizzeremo moltissime volte nel corso del
        tutorial, ma questo e' solo un mio modo di lavorare poi ognuno faccia come
        meglio crede)
    
        - Sempre nel menu Dynamics e con il Custom Shelf aperto, posizioniamo il
        puntatore sopra Hair>Set Start Position>From Current

    
    7 ter

    - Ctrl+Shift+Click per aggiungere anche questo comando nel nostro Custom Shelf

    - Aggiungiamo anche allo shelf il comando Hair>Display>Current and Start

    - Per rimuovere un comando dallo Shelf basta andare nello shelf editor che si
        trova a sinistra, sopra il tool box, dove c'e' l'icona di una cartella con sotto
        una freccia nera, premere sulla freccia e selezionare shelf editor, da li andare
        nel tab Shelf Contents, selezionare il comando che si desidera eliminare e
        cliccare su Delete Item.

    ecco uno shot con i nuovi comandi aggiunti nel custom e lo shelf editor:

    
    8

Per prima cosa allunghiamo la timeline a circa 10.000 frames in modo che possiamo aggiustare i parametri e vederne gli effetti in real time senza dover ogni volta mandare indietro, poi apriamo l'outliner e selezioniamo hairSystem1, nell'atribute editor entriamo nel tab hairSystem1Shape ed apriamo il rollout Dynamics>Solve clicchiamo sull'icona appena aggiunta dell'interactive playback nel Custom Shelf 9

ed aumentiamo il valore di stiffness.
Ora, considerando che questi rami saranno belli grandi, portiamo lo stiffness ad un valore abbastanza alto... io l'ho messo a 0.835.

Fermiamo e mandiamo indietro la timeline, duplichiamo il cerchio usato per estrudere la superficie del tronco e spostiamolo sul primo ramo allineandolo con esso, selezioniamo la curva del primo ramo e spostiamo i vertici in modo da dare al ramo un andamento credibile.
Torniamo in object mode, selezioniamo il follicolo del ramo appena modificato e clicchiamo sull'icona aggiunta nel custom "set start from current" 10

Selezioniamo cerchio e curva ed estruidiamo il ramo come abbiamo fatto per il tronco e allo stesso modo spostiamo i vertici in modo da dargli la forma che desideriamo ed applichiamo un circular fillet tanto per rendere l'innesto piu' omogeneo

11

12

Ora selezioniamo la superficie del nostro ramo e creiamo un altro hair system su di essa, ma questa volta nell'optin box abbassiamo suddivisioni e lunghezza e soprattutto selezioniamo New Hair System, altrimenti i nuovi capelli verranno assegnati al precedente hair system

13

nelle dinamiche di questo nuovo hair system abbassiamo lo stiffness perche' i rami saranno piu' piccoli e quindi piu' flessibili, andiamo in interactive playback e regoliamo lo stiffness a nostro piacere

quando abbiamo raggiunto un risultato soddisfacente fermiamo il playback e ripetiamo tutti i passaggi della costruzione dei rami quindi:

- aggiustiamo i vertici delle nuove curve,
- settiamo le start positions,
- duplichiamo i cerchi e li posizioniamo alla base delle curve,
- estrudiamo le superfici,
- aggiustiamo i vertici e creiamo i fillet

14

Metodo1: ora in Paint Effect basta dipingere il fogliame sui rami

rr1

Metodo2: sopra ogni rametto creiamo un ulteriore Hair System sempre avendo cura di
         selezionare "New Hair System",
     selezioniamo e cancelliamo le curve lasciando quindi solo i follicoli,

15

     con un Paint Effect disegnamo un albero piu' o meno della stessa dimensione del
         nostro,
         poi convertiamo in nurbs (Modify>Convert>Paint Effect to NURBS).
     Ora cancelliamo i rami grandi, lasciando quindi solo quelli piccoli con le
         foglie,
     creiamo dei piccoli gruppi contenenti 1 ramo principale, alcuni rametti
         secondari e le relative foglie
        
16

     Spostiamo il pivot (tasto INS per attivare/disattivare la modifica del pivot,
         tasto C per snap alla linea, tasto V per snap ai vertici, tasto X per snap alla
         griglia) alla base del ramo principale di ogni gruppo,
         posizioniamo ogni gruppo sopra un follicolo,
     parentiamo (selezionare il figlio, poi il padre e premere P) il ramo (figlio)
         al follicolo (Padre) ed il gioco e' fatto.

rr2

Questo secondo metodo, con un po' di pazienza, puo' essere applicato a qualsiasi livello di nidificazione dei nostri hair systems, quindi, in base alle esigenze e' possibile creare una dinamica piu' precisa (creando molte nidificazioni, ognuna con il suo hair system e con i suoi parametri) o grossolana.

Per quanto riguarda il tronco il metodo che preferisco e' dare uno smooth bind (menu animation>skin>bind skin> smooth bind) su una catena di joint comandati da una ikspline che, a sua volta rendo dinamica con il comando "Make Selected Curves Dynamic" che troviamo nel menu Dynamics>Hair

16 bis

Ricordiamoci solo di cambiare il point lock della curva da Both Ends a Base

17

e ovviamente di aggiustargli i parametri delle dinamiche

ps.: inutile dire che le superfici in generale ma soprattutto i fillet rallentano parecchio l'interactive playback quindi, soprattutto se state lavorando con le collisioni o i defermers vi conviene nascondere la visualizzazione delle superfici dalla viewport.

Spero che vi sia utile,

Saluti,
Dx.

rr2

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