Hey All,
One thing I’m having success with at the moment is using alembic (in geometry cache mode) to bring in detailed fluid simulation meshes into unreal! However, I’d really like for them to motion blur correctly (or at least a good hack). As I’m doing this in the “cinematics” realm I don’t mind if its a bit expensive either.
So in the offline render world, a really good way to get “deformation” motion blur is by exporting alembic caches with extra time samples for the motion blur, for a linear frame centered motion blur you’d have 3 samples (or 5 for something with a bit of curve to it). As long as the mesh topology is consistent during the shutter open and close (i.e. integer frame -0.25 to +0.25) and that is the key here, the topology is consistent from frame x-0.25 to x+0.25, sampling the position during these 3 time intervals and blur between them!
I’ve noticed than when unreal is presented with an alembic with extra time samples it just treats them as ordinary frames so you end up with a cache that just looks like its playing slower as its just treating all time samples as subsequent integer frames rather than "sub frames/float frames’.
Unless there is some magic to make this work I guess its a feature request! But I would like to know if anyone has any workable suggestions in the meantime?
I did find some reference to a “previous frame switch”, I’m not really sure how I’d use this yet in my example but I could export 2 alembic caches, one that is 1 frame offset from the other, as the previous frame (and can have matching topology) in theory I would have (per vertex) 2 positions I’d like to blur between, but how specifically to do that I don’t know!
I do get motion blur working out of the box when I have a constant topology geometry cache across all frames, that’s great! Now I just need the sub frame support or a decent hack!