LINK FRA OGGETTI. GESTIONE DI CATENE GERARCHICHE

 

Una girandola. E' un esempio di catena gerarchica. La parte rotante della girandola è attaccata a una stecca. La parte rotante pur avendo ancora dei gradi di libertà nel movimento (la rotazione appunto) è vincolata a seguire il movimento della stecca. Se io sposto la stecca, la parte rotante che sta attaccata ad essa ovviamente la segue (a meno di non avere comprato uno dei quei modelli Made in Korea che si rompe subito).

Be', creiamo questa girandola grossolana (può sempbrare un cartello stradale, ma è solo una impressione).

Per linkare la parte superiore alla stecca (la chiameremo "girello"), selezionala e poi attiva il comando di Link:

Poi trascina da questa alla stecca.
A questo punto il girello diventa un "figlio" della stecca, e la stecca è il suo "genitore".
Se apriamo la finestra di selezione degli oggetti, attivando Displòay Subtree possiamo vedere la struttura della catena gerarchica che abbiamo appena creato.

Gli elementi più in alto nella catena (in questo caso la stecca) sono detti "root" della gerarchia.

A questo punto se spostiamo la stecca, il girello si sposta con essa. E questo vale anche per quanto riguarda la rotazione e la scalatura: il girello eredita tutte le trasformazioni che avvengono sulla stecca. In generale tutti gli oggetti ai livelli inferiori della gerarchia risentono di quello che accade sopra.
Il girello può essere ancora traslato, ruotato o scalato liberamente, ma la stecca non ne risentirà.

Per spezzare la catena gerarchica in un certo punto, seleziona l'oggetto che si trova al livello inferiore e clicca sul comando UnLink.

Le catene gerarchiche possono contenere più oggetti. Creiamo ad esemio delle sferette, posizioniamole sul girello e linkiamole ad esso.

In questo caso tutte le sferette appartengono allo stesso livello gerarchico.

A questo punto il girello risente delle trasformazioni sulla stecca, mentre le sferette risentono di quelle della stecca ma anche di quelle del girello. Cioè......
Se sposto la stecca il girello e le sfere seguono.
Se sposto il girello alla stecca non gliene importa ma alle sfere si.
Se sposto le sferette, non gliene importa a nessuno.

Un oggetto può avere più "figli", ma un figlio può essere linkato a un solo "genitore" (le catene gerarchice ci tengono, all'unità della famiglia).

Le catene possono essere ramificate come vogliamo, e costruirle a volte può essere intuitivo a seconda di quello che vogliamo costruire, come ad esempio una specie di braccio meccanico. Occorre ricordarsi di parire, nella costruizione di una catena, dai livelli più bassi e risalire fino a quelli più in alto. Nel caso di questo braccio meccanico, occorre creare i Link partendo dal cono e risalire via via lungo i componenti fino alla base verde.

La catena gerarchica sarà questa:

Quando cloniamo contemporaneamente più oggetti formatni una catena gerarchica, le copie ottenute continuano ad essere linkati secondo la stessa catena. Cioè vengono clonati anche i link fra gli oggetti.

Possiamo clonare anche soltanto una parte degli oggetti della catena: il pezzo di catena ad essi relativo verrà clonato.

Per effettuare i link, è possibile utilizzare la stessa finestra di selezione degli oggetti. Attivando prima il comandi di link, quest si trasforma nella finestra di link degli oggetti, infatti in basso a destra non compare più il pulsnte Select, ma il pulsante Link. Gli oggetti presenti nella lista sono tutti quelli a cui può essere linkato quello selezionato.
Ad esempio selezioniamo il cono, attiviamo Link e poi premiamo H per aprire la finestra:

Per selezionare in sequenza gli elmenti di una catena gerarchica si può selezionare un elemento di questa e poi usare i tasti PageUp e PageDown.
E' consigliabile, prima di muovere gli elementi di una catena gerarchica, posizionare correttamente i loro Pivot Point in corrispondenza dei punti in cui devono ruotare e successivamente impostare il sistema di coordinate Local, appunto per effettuare le rotazioni in base all'orientamento e alla posizione del Pivot Point.

Ad esempio prendiamo queste scatole: la blu è linkata alla gialla, e la gialla alla nera.

Vogliamo che la gialla ruoti in corrispondenza dell'intersezione della nera, ma se lasciamo tutto così com'è non otteniamo quello che vogliamo.

Queto è dovuto alla posizine dei Pivot Point, in particolare di quello della scatola gialla.

Spostiamo il Pivot Point della scatola gialla all'intersezione con la scatola nera.

Poniamoci nel sistema di riferimento Local e ruotiamo la scatola. Ora va bene.

Quando vogliamo modificare la catena gerarchica, non è necessario spezzare i link e ricostruirli: ogni volta che aggiorniamo un link, quello vecchio automaticamente scompare.
Ad esempio, la catena gerarchica delle 3 scatole è questa:

Linkiamo la scatola blu alla nera:

Automaticamente il link tra ScatolaBlu -> ScatolaGialla scompare, mentre viene definito quello nuovo ScatolaBlu -> ScatolaNera.

Da questo si deduce anche che non possono essere create catene gerarchiche chiuse.