constraint updating in 4 and 4_2 2005-01-18 - By Brad Friedman
Back kim aldis wrote:
>From your original mail:- > >'First, a set of two orient constraints to keep the null oriented >relative to the cubes, should they be animated. The first has a blend >value of 1.0, meaning it takes full control'. > > > Its the first constraint in the stack. if its blend value is 1.0 it does have full control at this point in the evaluation. It overrides any incoming animation evaluated before it. Then the next constraint is evaluated. The next constraint has a blend of 0.5 so the null is then pulled half way to that constraint's target. It now sits 50/50 between them. Correct?
Constraint 1 has a blend of 1/1 or 1. Constraint 2 has a blend of 1/2 or 0.5
the result is a 50/50 blend because as you've said yet again, (why does everyone keep telling me the same thing even though I've set it up to take advantage of it?) blends are done over each other in the order the constraints are applied.
Please don't confuse my descriptions of the math going on inside the update at a given point in the stack with my understanding of the overall effect on the result.
Anyhow, after the null is evaluated to be sitting between the targets of the first two constraints, there are two orient constraints doing the same thing with the orientation.
And then finally, two more position constraints. And I suppose these are the ones that are confusing people into thinking I don't know what I'm doing. However, if I cut down the number of constraints in this example, the problem ceases to exist. It only manifests itself on a tall constraint stack.
Almost all the time, these last two constraints should have blend values of 0.0. They have no effect. Occasionally, the animator will want to turn one of them up to pull the object toward the target. The earlier constraints have offsets. These do not. So their effect is different. Tell me if I'm wrong. As the blend weight of the last constraint goes up toward one, the object should move from the position defined by evaluating the previous constraints, to the position defined by its own target. From somewhere in the middle, to the cube its targeting. When it reaches 1.0, it should be sitting exactly on its target. And since there are no more constraints to evaluate after that one, that should be its final position. If you turn its weight back down to 0.0, it should float back to the position resulting from the evaluation of the earlier constraints, and that should be its final position.
Is this correct? If not, why?
I am confused however, as to your description of the sum of the blends. If, as I think we all agree, constraints are evaluated in order, and the blend is the blend between the current constraint's target, and the resulting position from the previous constraint (or current position if there is no previous constraint) why would the sum of the blend values have any effect whatsoever? The only one that matters is the current blend on the constraint currently being evaluated. It doesn't care about the blend weights of anything else. This being the point that everyone keeps trying to drill into my head even though its already there.
Is this correct? If not, why?
-brad --- Unsubscribe? Mail Majordomo@(protected) with the following text in body: unsubscribe xsi
|
|