How to animate material parameter in Sequencer?

How to animate materials with Sequencer?
Matinee had an awesome feature of animating a float or vector material parameter.
Sequencer is different and doesn’t have the same tracks available.

Does anyone know how to animate materials in Sequencer?

3 Likes

Feels a bit awkward answering my own question, but here is the solution. An event track should be added to Sequencer.
Then in a Level Blueprint a Custom Event should be created along with the rest of the blueprint referencing the object you need to change (which should have parameters in its materials). Then you can change anything with a blueprint, let’s say set a parameter’s value to 100 etc. Or even add a Timeline node to create a dynamic change.
After that, the Event Track in Sequencer should have a keyframe with the name of that custom Event.
Done, once you click play, it’s going to simulate any material changes or anything you wish to put in your blueprint event.
Once you get to know how Blueprints work, it’s even more useful than Matinee’s parameters.
Hope that helps.

1 Like

Well your answer is somehow valid but it’s not the same as animating parameters directly in Sequencer. So Matinee indeed had features here that are still MISSING in Sequencer.
I think direct parameter animation is something that they really should implement. And it should not only be done for material parameters but for ANY Blueprint parameter, too.

Cheers

1 Like

Any word from Unreal about implementing that feature?

1 Like

In sequencer, you can add the skeletal mesh as a track under your actor. Then add the material element you want to animate as a track under the skeletal mesh. Then add another track for a parameter, for example, the U offset to the material element track.

-Actor
-SkeletalMeshComponent0
-Material Element 7
-UOffset

Hope this helps

1 Like

I have been setting lots of different variables and other blueprint values in my Sequence, and all in all I really love the new system. However, we decided recently to make it start raining during the sequence, and have the environment get wet and drizzly as it rains. Since there are many blueprints comprising the map, most having their own material instances, my environment artist gave me a “Material Parameter Collection” which controls the wetness value in the master material that all of the instances are referencing. Is there any way to modify this in my sequence, since it is not an element within my map?

see my comment below

It can be done easily. In Sequencer you add your object then click [+ Track] > Materials (choose slot here) and then for this material [+ Parameter] and choose parameter. That’s it.

1 Like

I believe he’s talking about material parameter collections, so you can change a parameter on a bunch of assets rather than just the one you add in sequencer.

We are doing this in our scene. I am controlling the “wetness” across all the meshes by using a material parameter collection. How I am driving this in my sequence is by making a simple blueprint with the event tick going into a “Set Scalar Parameter Value” that is referencing the material collection parameter, and I am changing the value with a float parameter that I revealed to cinematics(makes key-able for sequence). I had to make a blueprint so I had something to bring into my map that my level sequence could access.

You could always create a variable inside the blueprint for your material parameter and tick the Expose to cinematic box in its properties. Your blueprint would feed that variable to your vector or scalar parameter (On Event Tick for example).

You can then drag the blueprint into sequencer and you’ll have access to any variables that are exposed to cinematics, and they can be animated. Only drawback (and for some might be a deal breaker) is that being dependent from the Event Tick means you’ll only see the changes at run-time, and not while scrubbing through sequencer.

Hey Kelladan, thank you for posting this. This is exactly what I needed.

Hello, I solve it.

a) Create a NewMaterialParameterCollection b) If you’re going to animate (example) Roughness, set “scalar parameter”. set a value with any name, related with what you want to animate. c) Create a NewMaterial and dragndrop your “NewMaterialParameterCollection”. this is going to work exactly as the values that we set into parameters in our material display. remember to click on your “NMOC” and set the name that you chose before d) Open your sequencer and: +track, add parameter collection, + parameter, chose the name again and there you go. now you can animate values.

Hope this can help. If you need a video for better understanding just ask.

Regards

2 Likes

thank you!

hi when I go to add track, materials isnt an option. what am I doing wrong?

315986-screenshot-2020-09-27-014958.png

1 Like

This may be handy for future ref

3 Likes

This worked perfectly for what I needed! Super quick and easy, thanks a ton.

Add staticMeshComponent0 first

1 Like

this is solution BUT it cant be a Material Instance, as far I tested it should be a “parent” material