Body step 2.4: landing, movable ground, playground fixes

- legs brake landings at 4.5 g; vertical support is a rate-limited servo
  (no launch when stepping onto a mantled ledge)
- ground control pushes back on movable ground (seesaw tips under the player)
- playground hinges use absolute paths (joint paths resolve from the joint)
- big props grabbable via surface query; Reset props keeps playground pieces
- spike: landing, seesaw, playground joints/grab, person-like wall climb

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
FoxyzandClaude Opus 5.5 committed 2026-10-02 10:10:38 +03:00
1 parent b5f598aae9
commit 0b8f2131c1
6 files changed
+208 -42

No files matched your search

+4 -4
View File
@@ -186,8 +186,8 @@ public partial class Playground : Node3D
HingeJoint3D pivot = new()
{
Transform = new Transform3D(new Basis(Vector3.Right, Vector3.Up, Vector3.Back), new Vector3(-8.5f, 0.48f, -1.5f)),
NodeA = GetPathTo(GetNode("SeesawPivot")),
NodeB = GetPathTo(seesaw),
NodeA = GetNode<Node>("SeesawPivot").GetPath(), // absolute: joint paths resolve relative to the joint
NodeB = seesaw.GetPath(),
};
AddChild(pivot);
Sign("Seesaw", new Vector3(-8.5f, 1.3f, -1.5f));
@@ -200,8 +200,8 @@ public partial class Playground : Node3D
HingeJoint3D swing = new()
{
Transform = new Transform3D(new Basis(Vector3.Back, Vector3.Up, Vector3.Left), new Vector3(-6f, 2.35f, 1.5f)),
NodeA = GetPathTo(beam),
NodeB = GetPathTo(board),
NodeA = beam.GetPath(),
NodeB = board.GetPath(),
};
AddChild(swing);
Sign("Hanging board", new Vector3(-6f, 2.9f, 1.5f));