How can the Blender User get the desired visual results for Bake below?

enter image description here

  • Legend for image above.
  • The letter A is next to a selected Armature which henceforth, for brevity, will be named [A].

  • The letter B is next to a selected Armature which henceforth, for brevity, will be named [B].

  • [A] has the indicated Spline IK Constraint. It is active.
  • [B] is the result is the result of copying [A] and then a Bake was performed. The Bake parameters are highlighted in blue in the info window.
  • The User expects [A] and [B] to look identical. [B] with no necessary constraints. Simply Baked Transforms for each bone.

  • The results show a recognizable correlation between [A] and [B]. Yet [A] and [B] are not identical as a User Visual.

Bake Parameters in text.

bpy.ops.nla.bake(frame_start=1, frame_end=5, clear_constraints=True, bake_types={'POSE'})

The User can get better results not using some features of the Spline IK Constraint. With the check boxes [Y Stretch] and [Use Curve Radius] not selected [A] and [B] look more similar. Still noticeable differences are present. Clear Scale improves situation.

Still not a 100% satisfactory context.

  • 2
    $\begingroup$ I'm still having a hard time understanding your question. Part seams like there is a missing image, you keep referencing [A] and [B] but that is not shown. The last paragraph makes it sound like something is for addon, so is this whole thing needed for scripting? $\endgroup$
    – David
    Oct 7 '17 at 14:45

This is a scaling artifact that happens when Y-stretch is enabled. The bone scales get applied additively down the chain, because the bones are parented to each other, resulting in an odd shape.

What you need to do is: Copy the SplineIK bone chain, delete the SplineIK constraint in this new chain and unparent all the bones from each other. Than add copy transform constraints to every bone in the chain, targeting the matching bone in the SplineIKchain. Make this new chain deform the mesh and disable deform for all the bones in the original splineIK bone chain.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.