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);
                        }
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to