domenica 24 maggio 2009

Le Constraint

Ho deciso di iniziare a implementare il codice utile a definire lo standard per le Constraint.
Nella mia realizzazione, ho creato un struttura standard di classi che possono aggaccianciarsi a delle connessioni (per esempio quelle delle istanze: posizione, rotazione, dimensione, ecc..), con la possibilità di modificarne o bloccarne i valori seguendo le regole scritte nelle Constraint stesse.

Prima applicazione: Il Blocker
La prima Constraint che ho implementato è una funzionalità già presente nel vecchio Now3D versione VB6, e cioè la possibilità di bloccare i seguenti attributi: Posizione, Rotazione, Scala, e Dimensione.
Proprietà di una Constraint di tipo Blocker


Prossima applicazione: IK (Inverse Kinematics)
Ho provato a cimentarmi nell'affascinante mondo delle animazioni implementando una Constraint speciale che funzionasse da catenza di nodi IK. IK o Inverse Kinematics è un metodo tramite il quale poter ad esempio spostare una catena di articolazioni come quella tra la spalla e il braccio e tra il braccio e l'avanbraccio, spostando semplicemente il polso dove si preferisce, sarà l'algoritmo stesso a generare le giuste rotazioni delle due articolazioni in modo da far raggiungere al polso la posizione scelta.
La mia implementazione funziona solamente su uno dei tre assi di rotazione (lo Z) , ma spero prossimamente di farla funzionare su tutti e tre gli assi.
Prima versione di una catena IK

Nessun commento:

Posta un commento