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.

Full description of the settings for the spline IK can be found on the Spline IK page.

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

To setup Spline IK, it is necessary to have a chain of connected bones and a curve to constrain these bones to:

  • Avec le dernier os dans la chaîne sélectionné, ajoutez une Contrainte :doc:`Spline IK </rigging/constraints/tracking/spline_ik>`de l’onglet Bone Constraints dans l’Éditeur properties.

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

  • Finally, set the “Target” field to the curve that should control the curve.

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

Paramètres et contrôles

Roll Control

To control the “twist” or “roll” of the Spline IK chain, the standard methods of rotating the bones in the chain along their Y axes still apply. For example, simply rotate the bones in the chain around their Y axes to adjust the roll of the chain from that point onwards. Applying copy rotation constraints on the bones should also work.

Offset Controls

The entire bone chain can be made to follow the shape of the curve while still being able to be placed at an arbitrary point in 3D space when the “Chain Offset” option is enabled. By default, this option is not enabled, and the bones will be made to follow the curve in its untransformed position.

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

Les modes disponibles sont :

None

this option keeps the X and Z scaling factors as 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.

In addition to these modes, there is an option, Use Curve Radius. When this option is enabled, the average radius of the radii of the points on the curve where the joints of each bone are placed, are used to derive X and Z scaling factors. This allows the scaling effects, determined using the modes above, to be tweaked as necessary for artistic control.

Astuces pour des configurations sympas.

  • For optimal deformations, it is recommended that the bones are roughly the same length, and that they are not too long, to facilitate a better fit to the curve. Also, bones should ideally be created in a way that follows the shape of the curve in its “rest pose” shape, to minimize the problems in areas where the curve has sharp bends which may be especially noticeable when stretching is disabled.

  • For control of the curve, it is recommended that hooks (in particular, Bone Hooks) are used to control the control points of the curve, with one hook per control point. In general, only a few control points should be needed for the curve (e.g. one for every 3-5 bones offers decent control).

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

  • When setting up the rigs, it is currently necessary to have the control bones (for controlling the curve) in a separate armature to those used for deforming the meshes (i.e. the deform rig containing the Spline IK chains). This is to avoid creating pseudo « Dependency Cycles », since Blender’s Dependency Graph can only resolve the dependencies the control bones, curves, and Spline IK’ed bones on an object by object basis.