[Closed] Assign controller dialog assistance
Help!
I have a pt helper thats on a path constraint to a spline “spline A”. I have another pt helper on another spline also via path constraint “spline B”. Spline A has two orientation contraints one on one bone, and one on another. at the moment I have a float expression assigned to spline A enabled that states the following: if( CstntSwitch >= 0.5, 50, 0 ). So CstntSwitch is selected as the helper on spline B. So when spline b’s helper passes 50% of the path it acts as a toggle and switches the first orientation constraint on spline A to a weight of 50, and when under 50% its sets the weight to zero. I have a second expression assigned to the other orientation constraint for spline A that does the opposite ” if( CstntSwitch <= 0.5, 50, 0)”. My question is, what should I use if I wanted to make the transition smooth. In other words when the helper on spline B is at 10% the weights for each orientation constraint would correspond accordingly (weight one would be at 90% while weight 2 would be at 10%), example 2 (helper B@20%= OC1@80 and OC2@20). Any assistance with this would be most helpful. I’d prefer to stay working with the assign controllers dialog window, but I don’t mind branching.
Thanks in advance.
I might be misunderstanding here, but can’t you just set your expression to be CstntSwitch * 100?
That would work for 1 constraint, but since there are two orientation constraints, and im looking for the weight to appear as if its transferring when spline B’s helper moves, would the secondary constraint be set to CstntSwich *-100? I guess a better way of asking would be; When the helper on spline B is at 100% what does each orientation constraints float expression controllers need to have in them so that weight 1 is at 100% while weight 2 is at zero? Also vice versa, and as helper B moves the weights need to always remain opposite of one another (B@75= weight 1@25% and weight 2@75%) and so on.
Thanks for the reply.
Expression 1:
CstntSwitch * 100
Expression 2:
(1-CstntSwitch) * 100
Example Value | Expression 1 | Expression 2
0% | 0.0*100 = 0 | (1.0-0.0)100 = 100
25% | 0.25100 = 25 | (1.0-0.25)100 = 75
50% | 0.5100 = 50 | (1.0-0.5)100 = 50
75% | 0.75100 = 75 | (1.0-0.75)100 = 25
100% | 1.0100 = 100 | (1.0-1.0)*100 = 0
-Eric
Inversion of values (at least for me) is typically a simple normalization of the value (get it in a range between 0.0-1.0), then subtract from 1.0, and then scale the values as needed.
I actually use normalization a lot as I find it much easier to work with values between 0.0-1.0 and then remap it as need by a simple multiplication operation.
-Eric