From 37eb1090148057e9c1ecaae6a94bf97c8e51dd61 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Tue, 7 May 2019 19:52:10 +0300 Subject: Spline IK: support using both original scaling and volume preservation. Add a new option that makes the Spline IK solver apply volume preservation on top of the original scaling, considering the pre-IK scale of the bone as the goal volume to be preserved. This basically works similar to the Stretch To constraint, and allows easily rigging a stretchy chain that uniformly follows its parent's scaling. Since the Stretch To behavior is more familiar, the new option is on by default for newly created Spline IK constraints. --- source/blender/makesdna/DNA_constraint_types.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/makesdna/DNA_constraint_types.h') diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index d3165efb647..3abd5b4456e 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -906,6 +906,9 @@ typedef enum eSplineIK_Flags { /* for "volumetric" xz scale mode, limit the minimum or maximum scale values */ CONSTRAINT_SPLINEIK_USE_BULGE_MIN = (1 << 5), CONSTRAINT_SPLINEIK_USE_BULGE_MAX = (1 << 6), + + /* apply volume preservation over original scaling of the bone */ + CONSTRAINT_SPLINEIK_USE_ORIGINAL_SCALE = (1 << 7), } eSplineIK_Flags; /* bSplineIKConstraint->xzScaleMode */ -- cgit v1.2.3