diff options
author | Joshua Leung <aligorith@gmail.com> | 2016-05-14 18:53:47 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2016-05-17 17:28:55 +0300 |
commit | b69196da5e8cbf5fa344d74a5a619a825ba9f959 (patch) | |
tree | 7605956ee4ca26351921bd1ead4a4b690ed31e60 | |
parent | 650cdf6c36b07b367a14c672b94340fb6cc65832 (diff) |
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.
-rw-r--r-- | source/blender/editors/armature/pose_transform.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/blender/editors/armature/pose_transform.c b/source/blender/editors/armature/pose_transform.c index 5591c9ee0eb..972238ea4ff 100644 --- a/source/blender/editors/armature/pose_transform.c +++ b/source/blender/editors/armature/pose_transform.c @@ -367,10 +367,26 @@ static bPoseChannel *pose_bone_do_paste(Object *ob, bPoseChannel *chan, const bo axis_angle_to_quat(pchan->quat, chan->rotAxis, pchan->rotAngle); } + /* B-Bone posing options should also be included... */ + pchan->curveInX = chan->curveInX; + pchan->curveInY = chan->curveInY; + pchan->curveOutX = chan->curveOutX; + pchan->curveOutY = chan->curveOutY; + + pchan->roll1 = chan->roll1; + pchan->roll2 = chan->roll2; + pchan->scaleIn = chan->scaleIn; + pchan->scaleOut = chan->scaleOut; + /* paste flipped pose? */ if (flip) { pchan->loc[0] *= -1; + pchan->curveInX *= -1; + pchan->curveOutX *= -1; + pchan->roll1 *= -1; // XXX? + pchan->roll2 *= -1; // XXX? + /* has to be done as eulers... */ if (pchan->rotmode > 0) { pchan->eul[1] *= -1; |