[Bf-blender-cvs] [5ff8af8] depsgraph_refactor: Depsgraph: WIP - Experimental fixes for regressions introduced
Joshua Leung
noreply at git.blender.org
Wed Jan 21 13:00:00 CET 2015
Commit: 5ff8af812332e51e2381d135d8d27302eb0cba1f
Author: Joshua Leung
Date: Thu Jan 22 00:59:30 2015 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rB5ff8af812332e51e2381d135d8d27302eb0cba1f
Depsgraph: WIP - Experimental fixes for regressions introduced
So, it seems that using BONE_READY for constraint targets was breaking
production rigs (notably the foot/leg setups), while using BONE_DONE
will break the constrained-to-bone-in-same-ikchain setup...
Just noting this here in case this comes in handy at some point. Perhaps
we need to try something fancier using the rootmaps here?
===================================================================
M source/blender/depsgraph/intern/depsgraph_build_relations.cpp
===================================================================
diff --git a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
index 9461e72..08799fa 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
@@ -535,7 +535,7 @@ void DepsgraphRelationBuilder::build_constraints(Scene *scene, ID *id, eDepsNode
if (&ct->tar->id == id) {
/* same armature - use the "ready" state only, to avoid collisions with IK */
/* NOTE: in some cases, this may break (i.e. if the target is in a separate chain which can get safely evaluated first) */
- OperationKey target_key(&ct->tar->id, DEPSNODE_TYPE_BONE, ct->subtarget, DEG_OPCODE_BONE_READY);
+ OperationKey target_key(&ct->tar->id, DEPSNODE_TYPE_BONE, ct->subtarget, DEG_OPCODE_BONE_DONE);
add_relation(target_key, constraint_op_key, DEPSREL_TYPE_TRANSFORM, cti->name);
}
else {
@@ -1034,7 +1034,8 @@ void DepsgraphRelationBuilder::build_ik_pose(Object *ob,
}
else {
/* same armature - we'll use the ready state only, just in case this bone is in the chain we're solving */
- OperationKey target_key(&data->tar->id, DEPSNODE_TYPE_BONE, data->subtarget, DEG_OPCODE_BONE_READY);
+ //OperationKey target_key(&data->tar->id, DEPSNODE_TYPE_BONE, data->subtarget, DEG_OPCODE_BONE_READY);
+ OperationKey target_key(&data->tar->id, DEPSNODE_TYPE_BONE, data->subtarget, DEG_OPCODE_BONE_DONE);
add_relation(target_key, solver_key, DEPSREL_TYPE_TRANSFORM, con->name);
}
}
More information about the Bf-blender-cvs
mailing list