I set up a master material using the layered material approach as outlined by Ryan Manning here:
Unfortunately I only now noticed I can´t expose the material parameters for animation in the sequence, like I can with standard materials.
Is that a known limitation or do I need to expose something?
A little bump.
Why is there no information on this issue ANYWHERE on the internet…
Can´t animate Material layer parameters…
I went back to Unreal4, just to make sure its not an UE5 issue, but its just the same.
What I figured out now…
I can´t add any parameters to animate in the sequencer.
If i replace the parameter value with a material parameter collection, I can then add this MPC to the sequencer and animate that, and that works.
But of course, that workflow is quite awkward. 1. I gotta go through every material, figure out which parameters might have to get animated and replace each and everyone with a material parameter collection. 2. I have to create a unique MPC for each parameter. Because otherwise, if I animate one, that is also used in another material, ALL instances of that parameter would get animated.
So, I just wanna ask one more time:
Is it a known restriction of material layers, that you can´t animate any of the parameters? It seems so incredibly dumb, that the best material layering system in Unreal should be that impaired, that i cannot be used to animate material parameters.
If I don´t get an answer, I´ll have to rebuild all my projects master materials as standard materials with a couple of blend options…
Hi lad! I had the same problem and couldn’t find any examples or complete information, only a small entry in 4.25 Release Notes:
New: Material Layer Improvements (Beta)
Material Layers have been updated with the ability for Blueprint functions to modify Material Layer parameters at runtime and improved behavior when propagating layer changes from a base material to derived ones.
I’m still pretty new to this engine, so i just start to messing things until i get it work like this:
As you can see, i use Dynamic Material Instance to change parameters values by setting them by Info. I did it not only in Event Graph, but in Сonstruction Script and it work just fine!
I hope I am not too late and you will succeed!
you for the reply, unfortunately I could not wait any longer and had to rebuild everything from scratch.
But I also don´t know blueprints yet (most likely never will), we are only working on linear content (for a TV show) so I only need to be able to animate the parameters in sequencer.
By now I´m guessing either noone is really using material layers yet or they just can´t be animated in sequencer yet, so hopefully a new release is going to have that functionality.
It was so nice and elegant not having to account for every possible blend mode and material type in one massive material…
Deam, what a shame! I don’t touch the Sequencer theme, so definitely can’t help in that area, can just wish a good luck
you so much for taking the time to explain how to change Layered Material parameters at runtime. Couldn’t find the info on the official documentation. So this is much appreciated! <3
Glad it helps! I haven’t worked with this topic anymore, but I’ll be back soon for more practice.
So if I understand something else important/interesting, I will write here again
Any updates on this topic?
It will be lovely if Layer vector parameters could be animated in sequencer.
I am trying to crossfade two materials, I have the Blend Asset but cannot access it’s vector parameter in sequence.
I have tried with material parameter collection, as @Acolori_Medien suggested, but the crossfade is not smooth. I see stepping between 0-1 values.
Is there a way to fix this?
Hello there! I have not worked on this for a long time and the solution that I described turned out to be the last one for me. Surely some more convenient ones can be avalible, especially in the UE5, which, by the way, I switched to, but I don’t know and didn’t recearche anymore. But
I don’t know about the parameters, but you can use functions in it that will change them. Take a look: