LWita 
Home
Articoli
Forums
Gallery
Tutorials
Downloads
Links
Competizioni
Archivio News
About

Tutorials

Spline CageStampa/Print
by Alessandro Melis aka mastro3d, edito da Davide Hubert Perone aka davhub


Spline Cage: prima parte (da http://www.lwita.com/vb/showthread.php?t=267)
Modellazione tramite spline cage di una barca

Le spline sono un ottimo strumento per modellare ed animare superfici complesse ed organiche; si prestano molto bene nel campo dell’industrial design per rappresentare forme quali scocche d’auto ed oggettistica “ergonomica” varia, forme individuabili solamente con profili di curve le quali devono raccordarsi secondo angoli ben precisi.
Sia chiaro, LightWave è un modellatore poligonale, dove le spline definiscono gabbie chiamate Spline Cage, le quali servono esclusivamente a generare mesh di poligoni.
LightWave 3D, per definire forme elaborate, mette a disposizione anche strumenti quali MetaForm e MetaNurbs, che però non affrontano con la dovuta precisione il design industriale.
L’uso delle spline in LightWave 3D non è molto “simpatico” alla maggior parte degli utenti per via della difficoltà nel creare le patch (pezze), ovvero le mesh poligonali racchiuse dalle curve spline generatrici.
La sagoma della nostra barca verrà costruita come un insieme di patch.
Ci sono delle regole precise da seguire quando si va a costruire una patch:
1. Creare le curve, le quali devono incontrarsi con il giusto verso di percorrenza;
2. Le curve devono essere almeno tre, anche se i risultati migliori si ottengono con quattro, per il semplice motivo che nel caso di tre spline, i poligoni adiacenti al punto di convergenza della mesh tendono a generare poligoni non planari, che costringe, successivamente, a “flipparli”. Ciò non toglie che certi oggetti, come la nostra barca, vadano necessariamente modellati con tre spline;
3. Le curve devono avere dei punti in comune (ovvero formare un’area chiusa), ma non occorre che siano necessariamente collegate per le loro estremità;
4. Fondere i punti che si sovrappongono con il comando Merge [m] o con il comando Weld [Ctrl+w]; invocare il comado Patch per generare la mesh poligonale;
5. Invocare, in ultimo, il comado Merge per eliminare i punti eccedenti venutisi a creare.
Ora metteremo in pratica queste regole durante la creazione della sagoma della barca.

La barca
Lanciamo il Modeler e nella finestra Display / Opzioni selezioniamo Quad: scegliamo Logo xy dal menu a tendina Orientation. Dal menu a tendina Preview Type scegliamo Wire. Selezioniamo Metric dall’Unit System, e Meters dal menu a tendina Default Unit. Grid Snap su None.
Terminata la configurazione del Modeler, passiamo a costruire la prima curva che identificherà la chiglia, posizionando nella finestra Face i punti (Polygon / Create / Points) da destra verso sinistra. Ora premiamo il comando Make [Ctrl+p] dal menu Tools / Curves per realizzare la curva (figura 001).
Fig_001.jpg
Passando alla visualizzazione Poligoni, la prima estremità della spline indica il punto di partenza ed è evidenziato da un quadratino celeste (vedi regola uno). Occorre assicurarsi tramite il comando Set Value [Ctrl+v], accessibile dal menu Tools / Points, che tutti i punti della curva abbiano valore z pari a zero.
Ora, nella finestra Top, tracciamo il profilo del parapetto mediante una spline che ha origine dal lato opposto della spline chiglia, e termina esattamente sul punto di origine della stessa (figura 002).
Fig_002.jpg
E’ opportuno smussare la curva parapetto nel punto di convergenza con l’asse x: nella Top View selezioniamone il penultimo punto e con un’operazione di Mirror sull’asse z lo duplichiamo (figura 003);
Fig_003.jpg
clicchiamo sul punto appena creato e successivamente sull’ultimo punto della curva parapetto; premiamo [Ctrl+p] per creare una curva. Passiamo alla visualizzazione poligoni cliccando su Polygon nella barra dei bottoni di selezione e dal menu Tools / Curves attiviamo Smooth [Ctrl+s]: la prua è ora smussata (figura 004).
Fig_004.jpg
Costruiamo ora la terza curva che rappresenterà lo specchio di poppa.
Il primo punto di questa curva (p1) deve essere posizionato in corrispondenza del primo punto della curva parapetto; disegnamo altri due punti intermedi (p2) e (p3), chiudiamola in corrispondenza dell’ultimo punto della chiglia (p4), come da figura 005.
Fig_005.jpg


Spline Cage: seconda parte (da: http://www.lwita.com/vb/showthread.php?t=268)

La seconda parte del tutorial sulla modellazione di una barca: si ringrazia Alessandro Melis per il materiale fornito.

Facciamo ancora riferimento alla figura 005, dove, dopo aver deselezionato i quattro punti appena creati, ne posizioniamo altri due “S_CP” ed “E_CP” i quali fungeranno da punti di controllo della curvatura della spline. Partendo dal punto “S_CP”, selezioniamo i rimanenti e creiamo la curva premendo la combinazione di tasti [Ctrl+p]. Ora, dal menu Tools / Curves clicchiamo StartCP [Ctrl+b] e successivamente EndCP [Ctrl+n] per trasformare i due punti estremi della curva nei punti di controllo sopraccitati. Muovendo con il comando Drag i punti di controllo, fate assumere alla curva l’aspetto riportato nell’illustazione (figura 005).
Fig_005.jpg
Per definire al meglio la sagoma della barca, occorrono altre due spline nel senso trasversale, una centrale ed una sulla parte di prua (figura 006).
Fig_006.jpg
La spline centrale è costituita da sei punti di cui due di controllo (il primo e l’ultimo) e la spline di prua da cinque, di cui due di controllo (sempre il primo e l’ultimo).
Occorre ora fondere i punti di sovrapposizione delle diverse curve per creare le aree chiuse (vedi regola 3): selezioniamo i punti comuni alle varie coppie di spline e fondiamoli con il comando Weld. Con il comando Object / Custom / Center 1D, centriamo prima lungo l’asse Y e poi lungo l’asse X le spline, e salviamole con un nome appropriato. La figura 007 mostra i punti da fondere.
Fig_007.jpg
Ora si può generare la patch rappresentante il guscio della barca.
Dalla finestra Display / Opzioni, scegliamo Open GL Smooth Shaded nel menu a tendina Preview Type.
Selezioniamo, in ordine, la prima curva creata (chiglia), la seconda (profilo parapetto), e l’ultima (trasversale di prua); dal menu Multiply / Sweep attiviamo il tasto Patch [Ctrl+f] e appare il requester “Make spline patch” nel quale inseriamo 7 Knots per il valore Perpendicular e 5 Knots per il valore Parrallel, per realizzare la relativa mesh poligonale (figura 008).
Fig_008.jpg
Selezioniamo ora la spline trasversale centrale e con [Ctrl+f] appare il relativo requester nel quale inseriamo 7 Knots e 10 knots rispettivamente per Perpendicular e Parallel; la seconda patch è fatta (figura 009).
Fig_009.jpg


Spline Cage: terza parte (da: http://www.lwita.com/vb/showthread.php?t=269)

Deselezioniamo la curva trasversale di prua e selezioniamo quella di poppa; realizziamo l’ultima patch come fatto per la precedente, lasciando sul requester i valori precedentemente impostati (figura 010).
Fig_010.jpg
Noterete che le maglie delle tre patch mostrano una tessitura continua, frutto dell’osservanza della regola 1 e della giusta successione di selezione delle diverse spline.
Tagliamo via le curve spline con relativi punti di controllo e operiamo un Merge dei punti eccedenti venutisi a formare.
Assicuriamoci che tutti i punti prossimi all’asse x giacciano effettivamente su di esso, selezionandoli e inserendo il valore 0 nel requester SetValue [Ctrl+v] accessibile dal menu Tools / Points. Specchiamo la geometria appena creata lungo l’asse z con il comando Mirror del menu Multipy. Premiamo m per fondere i punti venutisi a sovrapporre e tramite il tasto “f” (Poligon / Transform / Flip) assicuriamo che la normale dei poligoni componenti l’intera mesh sia rivolta verso l’esterno. Ora possiamo dare un’occhiata alla restituzione in OpenGL. Premiano il tasto “q” per accedere al menu Change Surface nel quale assegnamo il nome “Barca (guscio esterno)” alla mesh precedentemente creata e attiviamo l’opzione Smooth dallo stesso pannello. Dal menu Polygon / Transform / clicchiamo su Triple per trasformare i poligoni da quadrangolari in triangolari: ciò ci preserva da possibili errori di rendering. Salviamo l’oggetto creato con lo stesso nome assegnato alla superficie (figura 011).
Fig_011.jpg


 


www.lwita.com

LightWaveŽ and LightWave 3DŽ are registered trademarks of NewTek, Inc.