Blender Git Loki

Git Commits -> Revision bdb6142

Revision bdb6142 by Alexander Gavrilov
January 13, 2021, 14:31 (GMT)
Armature: fix B-Bone deformation blending artifacts with Preserve Volume.

The double quaternion blending method in addition to the deformation
matrix of each bone requires their rest matrices. For ordinary bones
this literally should use the bone rest matrix without any ambiguity.

However, it was also using the bone rest matrix for all of its
B-Bone segments, which is incorrect and causes strange deformation
in some cases involving extreme non-uniform scale, especially
at boundaries between different B-Bones. There is also a similar
known issue that happens with scale at bending joints, and this
fix reduces the distortion when both bones are B-Bones.

This changes both the Armature modifier and the Armature constraint
to use the actual segment rest matrices. Unlike bones, these can have
scale even in rest pose, so normalization is required.

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

Commit Details:

Full Hash: bdb6142876d2deb273d56cfe000e34354d999ace
Parent Commit: 89f4909
Lines Changed: +26, -9

2 Modified Paths:

/source/blender/blenkernel/intern/armature.c (+5, -1) (Diff)
/source/blender/blenkernel/intern/constraint.c (+21, -8) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021