Substance Designer: Setting up animated substances in blueprint

I posted this to the allegorithmic forums, but figured it was worth cross posting here too.

I’ve set up an animated substance (raindrops on a water surface).

It’s working perfectly in Substance player. Little bit too broken up at the moment, but looking promising, and animates nicely.

I’d like the same behaviour in UE4 - but there is very little information on how to animate the $time variable using blueprints.

I have been referring to the only two tutorials I can find:

Allegorithmic forum post

Youtube tutorial

The substance imports just fine into Unreal:

I can change the exposed variables as expected, with the substance updating in the viewport:

I then tried setting up the blueprint, as described in the referenced tutorials:

Attempt 1:

Attempt 2:

Attempt 3:

None of these do ANYTHING when the level is played.

Can anyone spot what I did wrong, or suggest some other things to try?

Many thanks

Hi,

Even though Substance allows for (near) real-time animation at run-time, this kind of effect done in the material space would be cheaper on both the CPU - rendering a substance has a CPU cost - and the GPU - transferring the updated textures to the GPU has a cost too.

Also, in your case, you need to explicitly ask the Substance engine to render the textures, this is achieved with the “Sync / Async Rendering” node, as shown in this video tutorial : YouTube is not currently available on this device. - YouTube

Best regards,

Yeah this kind of effect can be done in a Material, and it’ll probably have a lot less rendering overhead. I have a ‘Surface Ripple’ material function laying around in a package somewhere that I put together a few months ago… will see if I can dig it out.

Thanks for the info / advice!

This is more of a technical exercise for my own entertainment - being optimized / fully realtime is not an overriding requirement.

EDIT: Got it all working. For anyone trying to do the same thing, here’s the blueprint that worked:

@TheJamsh: I would love a ‘ripple’ material if you have one handy. It would complete my scene, but not my technical challenge of doing everything possible in ‘substance’ as a learning exercise.

Cheers,

AJ

calling sync rendering on tick in insanely cost inefficient, and async just produces a broken texture (turns grey). How can you do this without blocking?