Bugfix #27881: Motion paths don't correctly update with pose sliding
tools
This commit is contained in:
@@ -173,7 +173,7 @@ bMotionPath *animviz_verify_motionpaths(Scene *scene, Object *ob, bPoseChannel *
|
||||
}
|
||||
|
||||
/* avoid 0 size allocs */
|
||||
if(avs->path_sf >= avs->path_ef) {
|
||||
if (avs->path_sf >= avs->path_ef) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -231,6 +231,7 @@ typedef struct MPathTarget {
|
||||
/* get list of motion paths to be baked for the given object
|
||||
* - assumes the given list is ready to be used
|
||||
*/
|
||||
// TODO: it would be nice in future to be able to update objects dependant on these bones too?
|
||||
void animviz_get_object_motionpaths(Object *ob, ListBase *targets)
|
||||
{
|
||||
MPathTarget *mpt;
|
||||
|
||||
@@ -247,6 +247,15 @@ void poseAnim_mapping_autoKeyframe (bContext *C, Scene *scene, Object *ob, ListB
|
||||
/* insert keyframes for all relevant bones in one go */
|
||||
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cframe);
|
||||
BLI_freelistN(&dsources);
|
||||
|
||||
/* do the bone paths
|
||||
* - only do this if keyframes should have been added
|
||||
* - do not calculate unless there are paths already to update...
|
||||
*/
|
||||
if (C && (ob->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) {
|
||||
//ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
|
||||
ED_pose_recalculate_paths(scene, ob);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user