Stop-motion animation effect for individual actors?

Thanks in advance for any help with this.

I am trying to create a visual effect where one or more actors would move at a very low frame rate, as if animated using stop-motion animation techniques, while other actors in the scene move at a normal frame rate. I also need programmatic control over the reduced frame rate (e.g., to completely halt the motion, or to dynamically change the frame rate on the fly), so no, I can’t simply fix this in the skeletal animation prior to importing it into Unreal.

The only approach I can think of would be to use a vertex shader that caches vertex positions, then replays the cached positions until an update is triggered. This sounds simple enough, but I’m hitting a brick wall when trying to figure out how to add a vertex shader into UE’s rendering pipeline. I’m relatively new to Unreal Engine, so there’s a good chance that I’m missing something obvious, but it seems like the only way to do this is to modify the engine itself. Is that really true, or is there some way to implement a vertex shader as a plugin? If so, is there any documentation for that?

Also, if there’s a completely different approach that doesn’t involve vertex shaders, I’m all ears. Thanks again for any advice.

so you want to make stop motion (low frame rate) with skeletal mesh animations?
maybe instead of modify playrate you can just stop the animation and move the time in the animation by coding

I just made a test that works.
I set my animation play rate to 0
and I can jump to any frame

1 Like

Thanks much! That may be sufficient for now. In the long run, what I’d actually prefer is a visual effect that can be applied to any type of mesh, regardless of whether or not skeletal animation is being used, but I’ll give this a shot anyway.

One concern about this approach is that I’m assuming it will affect physics, instead of being a purely visual effect. I guess I’ll try it out and see what happens!

1 Like