Spline IK

Spline IK is a constraint which aligns a chain of bones along a curve. By leveraging the ease and flexibility of achieving aesthetically pleasing shapes offered by curves and the predictability and well integrated control offered by bones, Spline IK is an invaluable tool in the riggers” toolbox. It is particularly well suited for rigging flexible body parts such as tails, tentacles, and spines, as well as inorganic items such as ropes.

Une description complète des paramètres de l’IK spline peut être trouvée sur la page Spline IK.

Basic Setup

La contrainte Spline IK n’est pas formellement une méthode Inverse Kinematics (à savoir Contrainte IK), mais plutôt une méthode Forward Kinematics (càd. pose d’os normale). Cependant, il partage toujours certaines caractéristiques de la Contrainte IK, telles que sur plusieurs os non utilisables pour des Objets, et évalués après toutes les autres contraintes. Il devrait être noté que si une chaîne IK standard et une chaîne Spline IK affectent toutes les deux un os en même temps la chaîne IK standard a la priorité. De telles configurations sont toutefois à éviter car les résultats peuvent être difficiles à contrôler.

Pour mettre en place Spline IK, il est nécessaire de disposer d’une chaîne d’os connectés et d’une courbe pour contraindre ces os :

  1. Avec le dernier os dans la chaîne sélectionné, ajoutez une Contrainte Spline IK de Bone Constraints dans l’onglet Properties.

  2. Définissez le paramètre Chain Length au nombre d’os dans la chaîne (en commençant par et comprenant l’os sélectionné) qui devrait être influencé par la courbe.

  3. Enfin, définissez le champ Target à la courbe qui devrait contrôler la courbe.

Félicitations, la chaîne d’os est maintenant contrôlée par la courbe.

Paramètres et contrôles

Pour la liste précise des options, voir la contrainte Spline IK. Cette section est destinée à introduire le flux de travail.

Roll Control

Pour contrôler le Roll (roulis) de la chaîne Spline IK, les méthodes standard de rotation des os de la chaîne le long de leurs axes Y locaux s’appliquent toujours. Par exemple, il suffit de commencer par l’os le plus éloigné et de faire tourner les os de la chaîne autour de leur axe Y local pour ajuster le rouleau de la chaîne à partir de ce point.

L’application de contraintes Copy Rotation sur les os fonctionne également.

Note

Il y a quelques limitations à considérer :

  • Les os n’héritent pas de la valeur tilt d’une courbe pour contrôler leur roulis.

  • Il n’y a aucun moyen de créer automatiquement un effet de torsion lorsqu’une rotation amortie est héritée en haut de la chaîne. Pensez à utiliser Bendy Bones à la place.

Offset Controls

Il est possible de faire en sorte que l’ensemble de la chaîne osseuse suive la forme de la courbe même si elle est placée en un point arbitraire de l’espace 3D lorsque l’option Chain Offset est activée. Par défaut, cette option n’est pas activée, et les os seront amenés à suivre la courbe dans sa position non transformée.

Length Control

Le paramètre Y Scale Mode permet de choisir la façon dont les os sont mis à l’échelle en fonction de leur longueur. Les options disponibles permettent d’étirer la chaîne osseuse pour l’adapter à la courbe, d’utiliser l’échelle pre-IK ou de ne faire ni l’un ni l’autre. En outre, l’échelle de l’Objet courbe affecte le résultat.

Thickness Controls

L’épaisseur des os dans la chaîne est contrôlée en utilisant le paramètre XZ Scale Mode de la contrainte. Ce paramètre détermine la méthode utilisée pour la détermination de la mise à l’échelle sur les axes X et Z de chaque os dans la chaîne.

Les modes disponibles sont :

None

Cette option conserve les facteurs de mise à l’échelle de X et Z à 1.0.

Volume Preserve

Les facteurs de mise à l’échelle de X et Z sont prises comme l’inverse du facteur de mise à l’échelle de Y (longueur de l’os), en conservant le “volume” de l’os.

Bone Original

Cette option utilise simplement les facteurs de mise à l’échelle de X et Z que l’os aurait après son évaluation de manière standard.

En plus de ces modes, il existe une option, Use Curve Radius. Quand cette option est activée, le rayon moyen des rayons des points sur la courbe où les articulations de chaque os sont placées, sont utilisées pour dériver les facteurs de mise à l’échelle de X et Z. Ceci permet les effets de mise à l’échelle, déterminés en utilisant les modes ci-dessus, pour être fignolés autant que nécessaire pour un contrôle artistique.

Astuces pour des configurations sympas

  • Pour des déformations optimales, il est recommandé que les os aient à peu près la même longueur, et qu’ils ne soient pas trop longs, pour faciliter un meilleur ajustement à la courbe. En outre, les os devraient idéalement être créés d’une manière qui suit la forme de la courbe dans sa forme de “pose de repos”, pour minimiser les problèmes dans les zones où la courbe a des virages serrés, ce qui peut être particulièrement visible lorsque l’étirement est désactivé.

  • Pour le contrôle de la courbe, il est recommandé que les crochets (en particulier les crochets d’os) sont utilisés pour contrôler les points de contrôle de la courbe, avec un crochet par point de contrôle. En général, seuls quelques points de contrôle devraient être nécessaires pour la courbe (ex. un pour 3-5 os offre un contrôle décent).

  • Le type de courbe utilisé n’a pas d’importance, aussi longtemps qu’un chemin peut en être extrait qui pourrait aussi être utilisé par la Contrainte Follow Path. Ceci dépend réellement du niveau de contrôle requis des hooks.