Author Topic: [SOLVED] One slider, 4 blends  (Read 1025 times)

I'm sure the title of this topic isn't great, but I didn't really know a good way to word this one.

Basically I have one slider, GlobalControl, value of 0 -> 1. 

I have 4 channels I'm blending with this slider.

Channel 1 blends to channel 2 when the value goes from 0 -> 0.33.

2 blends to 3 when value goes 0.33 -> 0.6.

3 blends to 4 with values 0.6 -> 0.9, or 1.

I know how to control the blends with an input parameter, but not how to break it up like this.

Any help would be wonderful, thanks in advance.
Last Edit: March 19, 2017, 08:17:36 am

I'd suggest instead of an arbitrary value like .6, use .66 instead. Makes the math a bit easier since you'll be able to multiply by 3. You'll see. I had no idea how to do this in Substance a few months ago, but I just tried with my newfound knowledge and the system works like a charm! Good luck!

So, firstly setup your graph as so :



Then in your first blend node, make the opacity value an empty function.
Get your GlobalControl float, then see if it is lower than or equal to .33
If this is true, set the opacity value to GlobalControl * 3
[This makes it so if the value is, say .22, it will blend at an opacity of .66]
Else if it is not true (meaning the value is greater than .33), set the opacity to 1
Finally right click "Control/If...Else" and choose set to output
 


Next create an empty function in the opacity for your second blend node
Start by checking if GlobalControl is both greater than .33 and less than or equal to .66
If it is, subtract .33 from GlobalControl and multiply it by 3
[So if the value is, say .55, it will subtract to .22 and multiply by 3 to get .66 as the opacity]
Else if it is not, see if GlobalControl is greater than .66
If it is, then set the value to 1 (since if its greater than .66 the opacity should be 1)
else if it is not, set the value to 0 (since the value is less than .33 it should have 0 opacity)
Finally right click "Control/If...Else" and choose set to output



For your last blend, create an empty function on the opacity yet again.
See if GlobalControl is greater than .66
If it is, subtract .66 from GlobalControl then multiply the result by 3
[So if the value is, say .88, it will subtract to .22 and multiply by 3 to get .66 as the opacity]
Else if it is not greater than .66, set the opacity to 0 (since this blend doesnt take effect unless GlobalControl is greater than .66)
Finally right click "Control/If...Else" and choose set to output



Last Edit: March 19, 2017, 06:56:15 am

You're awesome. Thank you so much. Works perfectly. I ended up going with an additional channel so just updating the math was all that was needed.

I had a good idea how to do it if I coded it, and now I know how to apply much of what I know in coding to this sick program.

You rock bro.

Can't wait to do even more with SD now!