CONSTRAINTS
SIMPLE CONSTRAINT.
Crea
3 cubi nella scena.

Vai
alla lista dei Contraints:
Trascina
il constraint POSITION nella scena. Apparirà qui:
Blocca
la finestra dei parametri e seleziona un cubetto.
Premi
ALT e trascina il cubo centrale qui:
Poi
prendi quello a sinistra, premi ALT e trascinalo sotto.
Attiva
la casella ACTIVE.
Nella finestra che si apre clicca su OK.
Il
cubetto centrale scompare.
In
realtà, si è diventato coincidente con il cubetto di sinistra.
Disattiva il Constraint e i cubetti si separeranno.
Riativalo
cliccando su SNAP.
In questo caso il Contraint si attiva ma i cubetti restano separati.
In
questo caso il cubetto centrale è linkato a quello di sinistra.
LOCK.
Se la casella è attiva il Child non può muoversi rispetto al Parent,
ma la distanza tra di essi viene mantenuta.
Dato che il Contraint applicato in questo caso è di tipo Position, la
rotazione del Child è ancora libera.
ZERO.
Elimina la distanza tra Child e Parent, facendo coincidere il Child al Parent.

Inseriamo
il terzo cubetto come Source.
WEIGHT.
Percentuale di influenza di un Source sul Constrained Object.
Trascina
un Source fuoiri in modo da eliminarlo.

Inseriamo
un altro Contraint Position. Inserisci come Constrained il solito cubo originale
e come Source quello elmininato dal contraint precendente.
A
questo punto modificando il Weight il cubo originale si sposta tra i due.
Il
Position più in basso viene applicato per ultimo, quindi riducendo il
suo Weight si sente quello del Contraint superiore.
Cancelliamo di due Constraint di tipo Position, tornando alla situazione iniziale:
RELATION CONSTRAINT.
Riprendiamo
le due scatole.

Inseriamo
nella scena una Relation Constraint.
Trascina
una scatola tenendo premuto ALT nella zona vuota del Contraint Settings.
Apparirà questo:
Vai
su SEnder pre rendere la scatola un elemento che produce un output. Su Receiver
per trasformarla in un elemento che riceve un input.
Per ora, andiamo su Sender. Apparirà questo:
Stessa
cosa per la seconda scatola, ma questa volta selezione Receiver.
Collega
la Rotation dei due blocchi cliccando sulla freccia Out e poi sulla freccia
In.
Ruotando
la prima scatola, l'altra segue.
Per
cancellare una connessione basta cliccare di nuovo da una freccia all'altra.
Oppure cliccare con il destro su una freccia e andare qui:
Inseriamo
un operatore Vector To Number trascinandolo dalla lista all'interno della finestra
dei blocchi. E apparirà il blocco corrispondente.
Colleghiamo
così:
Collega
la Y in output con la Translation Input del Cube1. Verrà automaticamente
creato un blocco di conversione collegato alla X.
Stacca
la connessione Y/X e connettila alla Y.
A
questo punto spostando l'oggetto lungo Y l'altro segue la traslazione lungo
l'asse.
Inserisci
l'operatore Add.
Collega
la traslazione al Number A.
Verrà generato un blocco automatico di conversione.

Inserisci
questo blocco di condizione:
Colleghiamo
il risultato dell' Add al Vector A della condizione. Verrà creato un
blocco intermedio.
Collega
l'ìuscita alla Translation del Cube1 e scollega quella attuale.
Crea
nella lista dei Number questo blocco:

Collegalo
così:
Nel
Number B inserisci un valore numerico fisso cliccando con il destro:

In questo modo se A>B viene passato A, altrimenti B.
Facciamo
la stessa cosa sul blocco Add.
Uniamo
l'uscita di A>B sul blocco di condizione:

Semplifichiamo
così:

Tradotto: se Cube si trova a Y>5 allora comanda Cube1 quando viene traslato lungo X. Altrimenti la traslazione lungo X non comanda Cube1.
Cancelliamo
tutto e creaimo 8 cubi coincidenti.
Mettiamoli
in colonna:
Andiamo
nella Schematic View.
Andiamo
nella modalità Parent.
Clicca
e trascina un elemento sull'altro per linkarli. Clicca 2 volte per entrare in
modalità di traslazione e risposizionarli nello schema.
Piazza
un Contraint Relations nella scena. Seleziona tutti i cubi e trascinali tenendo
premuto ALT nella zona del Contraint Relations 2 volte: una come Sender, una
come Receiver.

Inserisci un operatore Damping 3D:
Copia/Incolla
l'operatore per ogni coppia di scatole. (CTRL+C, CTRL+V). Facciamone 16.

Ognuno
dei blocchi delle scatole dovrà essere collegato a 2 operatori Damping.
Colleghiamo
ogni Sender così:
I
Receiver colleghiamoli così:
Inseriamo
un operatore INTEGER.
Inseriamo
un valore:
Colleghiamolo
ai Damping Factor degli operatori Damping.
Nella
scena ogni cubo ha associato un Constraint.
Traslando
e ruotando il cubo iniziale, gli atri seguono la trasformazione con un ritardo.
Il movimento è quello di una coda.
EXPRESSION CONTRAINT
Ripartiamo
da 2 scatole.

Inseriamo
nella scena un Contraint Expression.

Premi
ALT e trascina la prima scatola in una cella. Qui seleziona il Sender.

Cliccando
con il destro su una cella è possibile scegliere il sistema si riferimento
Global oppure Local.
Facciamo
la stessa cosa sulla seconda scatola e specifichiamola come Receiver.

A
destra dei segni = è possibile specificare una espressione utilizzando
i nomi delle celle. Esempio: facciamo in modo che la scatola 2 segua la rotazione
della scatola 1.
Alternativamente
è possibile trascinare una casella Sender.
Per
specificare il tipo di cella clicca con il destro e vai qui:
Creiamo
una terza scatola e inseriamo 2 Sender e un Receiver.
Inseriamo
anche la scatola 2 come Sender.
Specifichiamo
questa espressione:
Questa sintassi indica un vettore. I 3 componenti del vettore sono indicati dal valore seguito dai numeri 0,1,2 tra parentesi quadre, indicanti rispettivamente gli assi X,Y e Z.
In
questo esempio la scatola centrale si muove seguendo la coordinata X della scatola
A, la sua propria coordinata Y e la coordinata Z della scatola C.
ALTRI CONSTRAINT
Per
linkare un oggetto a un altro è anche possibile utilizzare il Constraint
Parent/Child.
Trascinalo nella scena, poi con ALT trascina gli elementi nelle caselel giuste
e clicca su Snap per attivarlo. In questo esempio il cappello è linkato
all' Effector della testa.
