Blender Git Commit Log
Git Commits -> Revision 3ae5cef
Revision 3ae5cef by Alexander Gavrilov (soc-2021-curves) June 21, 2021, 14:31 (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: 3ae5cef82acbdf2936850bafed15ee3c152635e9
Parent Commit: ede9f0e
Committed By: Dilith Jayakody
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)
/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)