Body step 2.1: climbing, mantling, crawling, legs, playground, 144 Hz

- Step rule + lower-body collider: no walking onto tables, steps <= 0.35 m
- Structural hand strength: two-hand mantle/pull-up works, one hand can't
- Arms aim from the physical shoulder horizontally, keep True Body pose vertically
- Crawl pose, crawl carry, 35 deg slope limit, ground feed-forward ignores
  play-space corrections (fixes a runaway feedback loop)
- Grab static world (climbing), procedural visual legs
- Playground sandbox; menu strength slider, spectator (old drag) and turn toggles
- Physics 144 Hz with interpolation; legacy chase-body spikes pin 90 Hz
- RagdollSpike: 27 phases incl. mantle, pull-up, crawl, ledge drop, ramps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
FoxyzandClaude Opus 5.5 committed 2026-10-02 07:56:08 +03:00
1 parent d83273dd2f
commit 2aff2b61da
26 files changed
+1243 -70

No files matched your search

+12
View File
@@ -1,7 +1,12 @@
using Godot;
// The old grab-the-air movement. Since the ragdoll player (body step 2) it is only the SPECTATOR
// mode (menu → Player → Spectator), where there is no body; off by default. Known issues kept as-is
// (owner, 2026-10-02): two-hand turning isn't 2-anchor based, simultaneous two-hand moves act weird.
public partial class AnchorMoveMode : Node
{
public static bool Enabled;
private const float GripThreshold = 0.6f;
private XROrigin3D _origin;
@@ -25,6 +30,13 @@ public partial class AnchorMoveMode : Node
public override void _Process(double delta)
{
if (!Enabled)
{
_wasTwoHand = false;
_leftPrev = _left.Position;
_rightPrev = _right.Position;
return;
}
bool leftGrip = _left.GetFloat("grip") > GripThreshold && !PropGrabber.IsGrabbing(_left);
bool rightGrip = _right.GetFloat("grip") > GripThreshold && !PropGrabber.IsGrabbing(_right);