Page MenuHome

Child Of: make it easier to switch between multiple ad-hoc parents.
Needs ReviewPublic

Authored by Alexander Gavrilov (angavrilov) on Oct 18 2019, 1:45 PM.

Details

Reviewers
None
Group Reviewers
Animation
Summary

As all other constraints, Child Of applies its effect on top of the
result of evaluating the preceeding stack. However, in case of this
constraint it makes it very cumbersome to switch between multiple
parents, as you have to either manually disable the previous Child Of
constraints at the instant of switch, or deal with weird effects
due to all parents affecting the object.

This adds a new constraint option to evaluate a constraint against
the transform at the start of the constraint stack. Of course, the
best solution for this is implementing node-based constraints, but
I think that this option to simply bypass all of the preceeding
stack is simple enough to add now.

Due to more complicated evaluation process, it becomes even harder
to correctly compute the inverse matrix from the outside, so this
also changes the Set Inverse operator to simply setting a flag for
the matrix to be recomputed during evaluation. This is similar to
how many other constraints with 'neutral state' data work.

Diff Detail

Repository
rB Blender
Branch
childof-ignore-stack (branched from master)
Build Status
Buildable 5411
Build 5411: arc lint + arc unit

Event Timeline

Wouldn't it be better to stop working on adding more workarounds for the fact Blender doesn't have a node-based constraint system, and just spend time on creating a node-based constraint system?