B-Bones: split the Scale In/Out properties into X and Y values.
As far as I can tell, there is no technical reason why the B-Bone segment thickness scaling can't be separated into two axes. The only downside is the increase in complexity of the B-Bone settings, but this is inevitable due to the increase in flexibility. Updating the file is somewhat complicated though, because F-Curves and drivers have to be duplicated and updated to the new names. Reviewers: campbellbarton Subscribers: icappiello, jpbouza Differential Revision: https://developer.blender.org/D4716
This commit is contained in:
@@ -458,7 +458,8 @@ bPoseChannel *BKE_pose_channel_verify(bPose *pose, const char *name)
|
||||
unit_axis_angle(chan->rotAxis, &chan->rotAngle);
|
||||
chan->size[0] = chan->size[1] = chan->size[2] = 1.0f;
|
||||
|
||||
chan->scaleIn = chan->scaleOut = 1.0f;
|
||||
chan->scale_in_x = chan->scale_in_y = 1.0f;
|
||||
chan->scale_out_x = chan->scale_out_y = 1.0f;
|
||||
|
||||
chan->limitmin[0] = chan->limitmin[1] = chan->limitmin[2] = -M_PI;
|
||||
chan->limitmax[0] = chan->limitmax[1] = chan->limitmax[2] = M_PI;
|
||||
@@ -1410,7 +1411,8 @@ void BKE_pose_rest(bPose *pose)
|
||||
pchan->curveInX = pchan->curveInY = 0.0f;
|
||||
pchan->curveOutX = pchan->curveOutY = 0.0f;
|
||||
pchan->ease1 = pchan->ease2 = 0.0f;
|
||||
pchan->scaleIn = pchan->scaleOut = 1.0f;
|
||||
pchan->scale_in_x = pchan->scale_in_y = 1.0f;
|
||||
pchan->scale_out_x = pchan->scale_out_y = 1.0f;
|
||||
|
||||
pchan->flag &= ~(POSE_LOC | POSE_ROT | POSE_SIZE | POSE_BBONE_SHAPE);
|
||||
}
|
||||
@@ -1438,8 +1440,10 @@ void BKE_pose_copyesult_pchan_result(bPoseChannel *pchanto, const bPoseChannel *
|
||||
pchanto->curveOutY = pchanfrom->curveOutY;
|
||||
pchanto->ease1 = pchanfrom->ease1;
|
||||
pchanto->ease2 = pchanfrom->ease2;
|
||||
pchanto->scaleIn = pchanfrom->scaleIn;
|
||||
pchanto->scaleOut = pchanfrom->scaleOut;
|
||||
pchanto->scale_in_x = pchanfrom->scale_in_x;
|
||||
pchanto->scale_in_y = pchanfrom->scale_in_y;
|
||||
pchanto->scale_out_x = pchanfrom->scale_out_x;
|
||||
pchanto->scale_out_y = pchanfrom->scale_out_y;
|
||||
|
||||
pchanto->rotmode = pchanfrom->rotmode;
|
||||
pchanto->flag = pchanfrom->flag;
|
||||
|
||||
Reference in New Issue
Block a user