finds.dev

detomon/wigglebone

Adds jiggle physics to a Skeleton3D bone using SkeletonModifier3D nodes

View on GitHub

★ 536GDScriptMITupdated May 2026

// the take

A Godot 4.3+ addon that adds spring-based jiggle physics to Skeleton3D bones via SkeletonModifier3D nodes, for secondary motion like hair, ears, tails, or foliage. Aimed at Godot developers who want physically-plausible wobble on rigged characters/props without hand-animating it or writing their own spring math.

Built on SkeletonModifier3D, Godot 4.3's actual extension point for this kind of thing, instead of hacking bone transforms in _process — this means it composes correctly with the rest of the animation stack and respects modifier ordering in the scene tree. The spring model (frequency + damping, not ad-hoc lerp) is the right way to do this and the README explicitly cites why naive lerp smoothing is broken, which suggests the author actually understands the problem space rather than cargo-culting a tutorial. Editor-time testing via draggable gizmo handles lets you tune spring feel without running the game, which matters a lot for rigger/animator iteration speed. Shared Property resources let multiple bones reuse the same spring tuning instead of duplicating values per node.

There's a documented, unresolved singularity near 180° rotation (bone forward axis can snap or spin unpredictably), with the only mitigation being 'orient your rest pose to avoid it' — a real constraint for loose-hanging things like tails or dangling accessories, not an edge case. The 4.3 requirement is hard; Godot 4.2 support lives on a separate branch with a different implementation (Node3D-based), so it's effectively a second codebase that can silently drift out of sync rather than a maintained compatibility target. There's no per-axis constraint beyond a single swing_span/max_distance cone, so motion that should be planar (a pendant swinging front-to-back, say) will wander in directions you didn't want unless you constrain it yourself outside the plugin. It's pure GDScript with no GDExtension/C++ path and no performance numbers in the README, so scaling this to many simultaneously-jiggling bones (a full head of hair, a cloth-like chain) is untested territory.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
536
Forks
23
Language
GDScript
License
MIT
Last commit
14 May 2026

// nearby

If wigglebone isn't quite it.

All repos →