Composure: How to set scalar value depending on the Composure Element Pass

Hello,

Apologies in advance for the lengthy post but I wanted to get accurate help. I’ve included some screenshots and gifs to further show what i have and would like.


ComposureQ_SetUpNotWorking
ComposureQ_WorksUponCompile

I’m trying to figure out how to change material scalar parameter collection value depending on the composure element active/being used. Similar to what is shown by the artist in the below link.

https://www.justtodosomethingbad.com/blog/2020/7/7/skunk-works

The third video on the link shows how I would like my setup to work around the 42 second mark.

I have very little experience in Unreal, about 2-3 months, but have a good amount of general cg experience.

Currently, I have my material scalar parameters set up. One overall composure element with two more composure element under the overall master. The two sub elements each have one cg layer with the same layer/object assigned.

For the composure elements, I’ve also edited the two sub element blueprints so they set the scalar values of the material parameters I’ve set up. Each blueprint composure element sets a different material parameter scalar value as needed for each element/pass/layer. But… each time I click on the different composure elements, nothing changes.

Only when I compile each element does the comp update, specifically I go to blueprint 1, compile, lit pass shows. Click on different elements but each one always stays in lit state. I go to blueprint 2, compile, the lighting pass shows, click on different comp elements but only the lighting pass shows, no element changes state as I would like. See gifs for better demo of unwanted behavior that makes it work.

Any guidance to get the comp elements to change global scalar values without compiling in order to change values would be much appreciated. Thanks.

Thanks
-Rob

Unless I’m missing something: You want to change parameters you feed in and not rely on changing the blueprint itself or using a construction script to do so.

Thanks for responding, I’m hoping that each composure element can have different parameter values. Currently it seems like when I update one element blueprint, it updates all elements even if the blueprint for that element has set different parameter values.

I’m okay using a blueprint and figure it’s the only way without scripting. I created a material that uses the parameter collection values to switch between multiple different material function looks that I would want for each element. One material function per element look.

I’m trying to emulate a material override type of effect per each element. This way I can use the parent composure element to composite all the different passes together and hopefully get the toon look I would like.