Blender Git Commits

Blender Git "BendyBones" branch commits.

May 17, 2016, 14:30 (GMT)
Bendy Bones: Cleaning up version patching for latest version
May 17, 2016, 14:29 (GMT)
Bendy Bones: Fix for Clear Rotation/Scale not affecting the Bendy Bone settings

* These operators were still clearing the pchan->bone (i.e. restpose values) instead
of the pchan values, which may have messed things up quite a bit.
* I've also now included the curve x/y stuff in rotation. While the transform being
applied to the handles is more like translation, the effect is actually closer
to rotation of the bone segments. So, on balance, let's try it this way.
May 17, 2016, 14:29 (GMT)
Bendy Bones: Tweak UI for custom reference bones to be tider
May 17, 2016, 14:29 (GMT)
Bendy Bones: Option to treat disconnected bbone start/end reference locations as relative

This is an experimental option for use with the previous commit. It's an attempt
at making these bone references more useful when there's a big gap between the
reference bone being used, and the bone it's controlling.
May 17, 2016, 14:29 (GMT)
Bendy Bones: Code Cleanup - Use const for all these intermediate values too
May 17, 2016, 14:29 (GMT)
Bendy Bones: Added ability to add custom reference prev/next bones for controlling handles

This is an experimental option which makes it possible to specify which bone
to use as the reference handle for the previous/next bones, instead of only
using those that are directly connected on either end.

To use:
* Enable the "Use Custom Handle References" option in the Bendy Bones panel
* Set Start and/or End bones accordingly. If both are left blank, then the BBone
will only respond to whatever offsets have been set by the animator
* Be careful when positioning the start/end bones! It will use the bone position
as the point at which the handle currently sits - best results seem be when these
bones are in line with the bbone to start with.

Why (according to @jpbouza):
When you have a very long chain of bbones, as they are all parented, when you rotate
the first bone in the chain (Y rotation, like twisting the chain), all the child
bones rotate. So the only way to avoid this is to add a copy rotation constraint to
each bone in the chain in order to override their parent rotation, thus achieving
control over twisting of each segment of the chain.

This commit makes it possible to have a bone (that is not a parent or child of the bone
being affected) to influence the bbone curvature as if they were.
May 17, 2016, 14:29 (GMT)
Bendy Bones: Fix for "flattening out" glitch when scaling up the bone

The fix here is to apply a scaling correction to the offsets we're applying
if the do_scale flag gets set. For whatever reason (I'm guessing floating point
precision errors), when the scale factor gets to around 8.15/8.16, there's a bit
more of a difference between x/y or y/z scale factors, leading to everything
needing to get scaled up 8 times (i.e. the bone length for the calculations is
8.16 not 1.0 as per usual). If we don't scale the offsets being applied to
compensate for this, the effect of the offsets will be less (i.e. the handles move
less), hence the bbone flattening out.
May 17, 2016, 14:29 (GMT)
Bendy Bones: RNA Cleanup - Naming, tooltips, ranges

* Improved naming of BBone properties to be less clunky

* Rewrote all the tooltips to be more descriptive about what they do
(and hopefully, to give an idea of how they can be used)

* Improved the ranges on all the properties
- Curve X/Y now has a range of +/- 5 (vs +/- 2 before)
- Scale In/Out now has a range of 0-5 (vs 0-2 before)

The extra flexibility doesn't seem to lead to any ill effects; instead,
at least in my tests so far, they instead give more leeway for creative
posing.

* Set defaults for the scale properties (1.0)
May 17, 2016, 14:29 (GMT)
Bendy Bones: Adding a bit of documentation to the code to show what's happening
May 17, 2016, 14:29 (GMT)
Bendy Bones: Fix for "double transform" caused by bendy bone values being set in editmode

The restpose/editmode values should still be applied during "rest",
so that their effects will not be factored into the final "deform"
that gets applied via the bones. However, we still need to have
these restpose values applied at some point to the bones, so that
in the viewport we get the offset values on top of the base.
May 17, 2016, 14:29 (GMT)
Bendy Bones: Keying Set support

* Added a "BBone Shape" Keying Set to make it easier to key all these properties at once
* Made "Whole Character" Keying Set aware of these properties
May 17, 2016, 14:28 (GMT)
Bendy Bones: Code Cleanup/Scaling Fix

* Changed num_segments from n - 1 to just n. Previously, it ended up just looking
odd, as everything would change, up till but not including the last one, when
playing with the "scale in" setting.

* Removed the before calculating scaleFactorIn/Out - these were always true!
May 17, 2016, 14:28 (GMT)
Bendy Bones: Breakdowner + Pose Slide tools support for these properties

The Breakdowner and Pose Sliding tools (Push/Relax) now have support for the
bbone properties too, making it possible to use these tools for playing with
them like another other part of the pose.

Implementation Note:
I've ended up reusing a bunch of flags which we don't use, and haven't used
for at least a decade (and which were if 0'd out). When they were in use,
they would have been for runtime purposes anyway. Just to be safe, the version
patch in modern Blender will clear out all those flags so that we can use them.
May 17, 2016, 14:28 (GMT)
Bendy Bones: Code Cleanup - More steps to simplify + clarify the scaling code
May 17, 2016, 14:28 (GMT)
Bendy Bones: Code Cleanup - Simplify float conversions here to be easier to follow
May 17, 2016, 14:28 (GMT)
Bendy Bones: Fix behaviour of scale in/out in editmode preview too
May 17, 2016, 14:28 (GMT)
Bendy Bones: Remove all the remaining BBone options from the Deform panel

These are no longer deform-only, as a non-deform bone could be used for
controlling constraints.
May 17, 2016, 14:28 (GMT)
Bendy Bones: Tweak to try and get rid of shearing issues when scaling bones

Looks like we shouldn't be applying the inverse matrix here...
May 17, 2016, 14:28 (GMT)
Bendy Bones: Copy/Paste pose now copies these settings over to

Copying poses now copies the bendy bone settings (posebone not bone ones).
By and large this should work fine now, though the behaviour for "paste flipped"
might need further checking.
May 17, 2016, 14:28 (GMT)
Constraints: BBones Head/Tail Interpolation is now optional

To preserve backwards compat with old rigs, the behaviour to use the BBone
shape when interpolating Head/Tail values will now only be performed when
the "curve" toggle beside the head/tail slider is enabled.

TODO: Make this toggle only show up when the target is actually a bbone
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2019