Hello !
I searched long time how to make a cool render with my animated material create with Substance Designer. Substance Player is really cool and simple but the render are not very sexy.
Fortunaly I have two friends who taught me how did that with Unreal :)
So big thank you Romain Tavenard and Daniel Olondriz ! Please check their protfolios here and here :)
First Step
Your material animated work very well on Substance Player and you to want make a super sexy render on Unreal ?
The first step is to replace all your $time node by a float variable ( because Unreal doesn't recognize $time )
To visualize your animation also on Substance Player I suggest you to create a boolean button so you can switch between $time and your variable for Unreal. In my example this variable is called " TimeKelly"
So If I activate my boolean " Switch_Unreal" the variable "TimeKelly" is active and my animation doesn't work on Substance Player , If I disable it's $time witch is active and the animation work on Substance Player. Check on Substance Player to be sure that you haven't forgotten to replace one or more $time :)
Go to Unreal now :)
Of course you need to install Substance Plugin in your project. Romain recommande this settings for the plugin (make sure to have GPU engine and not CPU )
- Import your .sbsar and assign the material to a mesh
- create blueprint actor and put it your scene
BluePrintActor
That is the graph to make work your animate substance in real time in play mode :)
follow the steps on this video.
- Create the node Set input float
- Promote the variable Target
- Define your variable wich remplace $time in the identifier
- Create Get Times Seconds node and plug in Input value
- Create Graph Instance Output size search your graph instance, and define the size of the maps
- COMPILE
- Return on Target and put your graph instance ( you can do before the compile )
- Create the Async Rendering and plug in the output of Set input Float and plug Target on Async Rendering
- Compile
Now your animated substance works in real time , but if you want to render with the sequencer it doesn't work yet. Let see how to do that.
Sequencer
- Add your blueprint to the sequencer
- Add an event Repeater track
- Create a New endpoint
- Come back on your blueprint, and create the variable Sequencer Time and check expose to cinematic
- Create a custom event called: sequencer ticks ( it will be call in the blueprint of the sequencer )
- Copy past the first graph and remplace Get time seconds by your new variable Sequencer Time and replace also Async Rendering by Sync Rendering
- On your Sequencer Events link your endpoint with your custom event SequencerTicks
- Return to your Sequencer and add the variable Sequencer Time
- add key at the begin and end of your animation ( your key need to be Linear )
- In your track Event check : call to editor
I hope see more animated substance !
kisses !!





















































































