alt.hn

6/1/2026 at 8:20:02 PM

Show HN: Soft Body Jiggle Physics

https://github.com/xloveee/jiggle-physics

by vesperance

6/6/2026 at 5:20:12 PM

Looks well documented. I applaud the author for not just sharing code, but taking the time to teach how to use it and how it was made.

by fooqux

6/6/2026 at 4:04:54 PM

Could be used for soft sea fish models

by sameersri2004

6/6/2026 at 3:02:15 PM

Nice donut in the demo, but would love to see a human model for a more fun demo :) Ideally with a proper weight map for the different body parts too, seems well done enough that you could get really close to something realistic.

by embedding-shape

6/6/2026 at 3:30:43 PM

That's probably the intent given the link in their github bio

by hgoel

6/6/2026 at 4:45:52 PM

Huh, might seem so, although this seem unrelated but obvious the domains are... Similar.

Wish author wasn't such a chicken if it was intended for body parts, show the demo in the README, I think it's still legal isn't it?

by embedding-shape

6/6/2026 at 3:01:13 PM

Nice to see someone else doing physics in the browser. And this looks well put together, keeping the engine dependency free and separate from the renderer is a good call, that is what makes it easy to reuse in Three or Babylon.

One question: how does it hold up when the framerate changes? Spring jiggle like this usually either blows up or feels different when the timestep moves around. Are you using a fixed timestep, or just relying on the damping to keep it stable?

by WizardK

6/6/2026 at 3:13:52 PM

The accumulator pattern keeps simulations stable in the face of variable frame rate. Accumulate the frame dt into an accum variable. If accum>fixed_physics_dt then step_physics until false. I'm assuming the author did something like that because it's standard practise.

https://www.gafferongames.com/post/fix_your_timestep/

by bruce343434

6/6/2026 at 4:53:38 PM

Well, as long as the step rate remains well above the Nyquist limit? Otherwise, your simulation will start to have something akin to aliasing errors.

That is one place where an analytical solution is a benefit, even if it is a bit less realistic. You just have a position(t) parametric function you can evaluate when rendering sporadically.

by saltcured

6/6/2026 at 3:03:29 PM

> when the timestep moves around

Why would the physics timestep move around? Typically you keep that fixed and separate, especially not locked to the display framerate, physics get really wonky then regardless of what you do.

by embedding-shape

6/6/2026 at 5:36:53 PM

Something something men of culture

by bitwize

6/6/2026 at 4:27:38 PM

Doing the lord’s work, advancing the human race forward.

by deafpolygon

6/6/2026 at 4:47:20 PM

Another example of the adult entertainment industry driving critical technology infrastructure forward...?

Makes me wonder: Does the adult entertainment industry have its own variant of the military's DARPA, or is it truly decentralized in its innovation and standards work? Haha

by patcon

6/6/2026 at 3:54:58 PM

I had vastly different expectations, though I suppose this could lead to them..

by Razengan

6/6/2026 at 4:33:20 PM

Check the github user profile ;)

by blensor