Industrial Dial movement

Hello smart people!

I’m making a dial puzzle, similar to this:

I’ve acheived the scripting and the dial moves to where it should when a button is pressed, but it feels very robotic. What would be the best way of adding the “sway” that is present in the video? I’ve tried understanding physics constraints, but I got stuck and confused, so if that’s the best route, I would love some more guidance to know what I’m doing.

Hi there,

I am assuming you are using a skeletal mesh, if not just let me know but I think a skeletal mesh for dials bones and switches makes sense and would be nice.

What you can do at that moment for specifically “Swaying movement”

1- You can just make a timeline lerp 0-1 but with a higher curve. and Lerp the value of whatever dial should point as angle. Lerp (CurrentAngle, ToAngle) with an alpha curve like below.

2- You can do this with an evaluate on curve again but on tick (not sure how you want to do animation so) can be animation instances and they can have individual curves Animation Curves in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community

3- You don’t go with this but actually go with a regular curve (just curve different)

4- You can do this without a curve just with some math as procedural which is ok too even can be better in some cases and that can be something like this which unreal has already a spring model

5- Or you can do manually on tick which is something like this.


Basically we get the error between current needle point. and to target, scale it by force, make a speed out of it and accumulate

However this would need delta time normalization, would be better if you use the given methods first since they are more deterministic, or you can do similar in C++ then would be better since this model (last one I gave) is tick dependent in lower or higher fps and “can” behave weirdly not a big problem though since it’s not core gameplay dependent physics.

Better to decouple it from tick model. The most reliable in that sense would be curves, however using spring model is also ok aswell.

Let us know how your setup is, I took the video as reference, these diegetic interfaces can be done in many ways, skeletal meshes, static meshes, material only setups etc.