Seesaw without spring back

Hi there,

I’m pretty new to Unity so please go easy :slight_smile:

I’ve created a hinge joint centred in a plank and have various differently weighted objects fall onto it from random x positions from the same height. They collide and move the plank like a seesaw using Unity physics.

What I really want to achieve though to not have the seesaw bounce back like its on a spring when it is moved down at either side. Currently an object hits applies a force and it goes down but then springs back up to its final position, is there any neat way to dampen, reduce or eliminate this behaviour ?

Thanks in advance,
LS

That… is really weird. I want to say “turn off the spring” but then I tried it, no spring, and I get the same springy back-and-forth on the teeter that you saw, even when there’s weights hanging on one side of it!

Maybe report your own post and ask the moderator to throw it over in the physics board?

(NVM, see below for answer)

Oh wait, I figured it out: it was the solid part UNDER the teeter (in my case a capsule) with a collider that was making it try to go level. The hinge position was FORCING it to stay in contact, so the contacts were constantly pushing and trying to resolve. I could see the physics would just never relax.

Attached is my setup. Note how I disabled the collider on the teeter, which is red.

7539632–931313–HingeSeesaw.unitypackage (314 KB)

First off, thank you very much for replying Kurt.

I should have been more specific in my original question I am working in 2D so on my plank / seesaw I have a 2D Rigid Body, Hinge Joint 2D and a 2D Box collider, so no spring option in my case.

Also I did not put a central support like your Capsule under the seesaw rather I set the hinge at the centre of my plank and freeze the planks rigid body in both x & y. I just drop various weighted objects onto the plank then which have their own 2d colliders and 2d rigid bodies. I have also set limits for the hinge joint angles e.g. +/-21 to stop it overshooting and tossing everything off.

It seems like, at least with heavier objects that the initial hit or connect to the plank, forces it beyond where it will eventually settle, then it springs back to its final less extreme position. Its that over extension I am trying to remove, I’d basically like it to just go to its final position on impact rather than jumping past it and recoiling back if that makes sense i.e. remove the springiness.

I’m not sure if it would completely fix your problem, but you could set the Collision Detection field on your RigidBody2D to Continuous. This is usually to stop fast objects from completely passing through other objects, so I’m not sure if it would help in this case.

Thanks RadRedPanda, I had turned them on and it helped a little, I’ll keep working at it and see what else I can change to improve it.

Just to clarify in the end I just coded a very basic moment system and rotated my board on that basis, works not too bad, thanks for the input :white_check_mark:

1 Like

Why not use an invisible collider beneath the overhang that can only collide with the seesaw aligned so that it cannot extend the joints bounds. Maybe comes to a hard stop when weight is applied