Blender Git Commit Log

Git Commits -> Revision 682a74e

Revision 682a74e by Alexander Gavrilov (master)
June 18, 2021, 15:56 (GMT)
Armature: add B-Bone Y scale channel and extra flag fields to DNA.

In addition to the base bone transformation itself, B-Bones have
controls that affect transformation of its segments. For rotation
the features are quite complete, allowing to both reorient the
Bezier handles via properties, and to control them using custom
handle bones. However for scaling there are two deficiencies.

First, there are only X and Y scale factors (actually X and Z),
while lengthwise all segments have the same scaling. The ease
option merely affects the shape of the curve, and does not cause
actual scaling.

Second, scaling can only be controlled via properties, thus
requiring up to 6 drivers per joint between B-Bones to transfer
scaling factors from the handle bone. This is very inefficient.

Finally, the Z channels are confusingly called Y.

This commit adds a B-Bone Y Scale channel and extra B-Bone flag
fields to DNA with appropriate versioning (including for F-Curves
and drivers) in preparation to addressing these limitations.

Functionality is not changed, so the new fields are not used
until the following commits.

Differential Revision: https://developer.blender.org/D9870

Commit Details:

Full Hash: 682a74e0909ba4e669a3f282b3bc5da0ae81e4da
Parent Commit: aee04d4
Lines Changed: +299, -188

19 Modified Paths:

/release/scripts/startup/bl_ui/properties_data_bone.py (+4, -6) (Diff)
/source/blender/blenkernel/BKE_armature.h (+9, -6) (Diff)
/source/blender/blenkernel/intern/action.c (+12, -12) (Diff)
/source/blender/blenkernel/intern/armature.c (+26, -23) (Diff)
/source/blender/blenloader/intern/versioning_270.c (+4, -4) (Diff)
/source/blender/blenloader/intern/versioning_280.c (+4, -4) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+109, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc (+1, -1) (Diff)
/source/blender/draw/engines/overlay/overlay_armature.c (+5, -8) (Diff)
/source/blender/editors/armature/armature_add.c (+14, -12) (Diff)
/source/blender/editors/armature/armature_intern.h (+4, -4) (Diff)
/source/blender/editors/armature/armature_utils.c (+21, -18) (Diff)
/source/blender/editors/armature/pose_transform.c (+18, -19) (Diff)
/source/blender/editors/armature/pose_utils.c (+10, -12) (Diff)
/source/blender/editors/space_view3d/view3d_gizmo_armature.c (+4, -4) (Diff)
/source/blender/makesdna/DNA_action_types.h (+5, -4) (Diff)
/source/blender/makesdna/DNA_armature_types.h (+17, -4) (Diff)
/source/blender/makesdna/intern/dna_rename_defs.h (+8, -4) (Diff)
/source/blender/makesrna/intern/rna_armature.c (+24, -43) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021