Spline Cage
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).

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

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);
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).

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

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

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.

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

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

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

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