Fix T103118: depsgraph issues for bbone property drivers on non-bbones.

The BONE_SEGMENTS operation node is only created if the bone is
actually a B-Bone. One location in the code wasn't checking that
before trying to create a relation.
This commit is contained in:
Alexander Gavrilov 2022-12-27 17:31:37 +02:00
parent 0efb79fb74
commit ebec9eb75e
Notes: blender-bot 2023-02-14 08:10:06 +01:00
Referenced by issue #103118, Using Metarig Limbs With only 1 B-Bone segment causes console spam and slows rig down massively
1 changed files with 5 additions and 2 deletions

View File

@ -1675,8 +1675,11 @@ void DepsgraphRelationBuilder::build_driver_data(ID *id, FCurve *fcu)
continue;
}
OperationCode target_op = driver_targets_bbone ? OperationCode::BONE_SEGMENTS :
OperationCode::BONE_LOCAL;
OperationCode target_op = OperationCode::BONE_LOCAL;
if (driver_targets_bbone) {
target_op = check_pchan_has_bbone_segments(object, pchan) ? OperationCode::BONE_SEGMENTS :
OperationCode::BONE_DONE;
}
OperationKey bone_key(&object->id, NodeType::BONE, pchan->name, target_op);
add_relation(driver_key, bone_key, "Arm Bone -> Driver -> Bone");
}