Docs: step 2.6 and the crag

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
FoxyzandClaude Opus 5.5 committed 2026-10-02 17:26:20 +03:00
1 parent 6ff6130762
commit 423b709cc9
3 files changed
+30 -5

No files matched your search

+14
View File
@@ -205,3 +205,17 @@ it is what Boneworks/BIMOS does (the rig rides the body; the head is driven to t
Results (real-input spike): landing keeps the pelvis at standing height with eye-to-camera ≤ 6.8 cm (during the
fall); held poses drift 1 cm with the eye within 7 mm; crawl, mantle, climb, pull-up and hang all pass.
## Step 2.6 — landing dip, jump, stick crouch, look-down flip, smooth view (2026-10-02)
| Change | Why / measured |
|---|---|
| **Body facing = `BodyMath.HeadFacing`** (visor projected flat, reversed when it disagrees with the crown; near vertical the crown alone). Stick direction uses it too; the crouch lean's head pitch is `atan2` against the facing (asin peaked at 90°) | Looking down past vertical (crouching, things on the ground) flipped the visor's flat projection 180° and the whole body turned around. Spike: look down to 125° crouched → pelvis/chest yaw change 0.0° |
| **Landing dip from physics**: airborne legs touch down only within `LandingReach` (5 cm) of the pose's hip height; standing contact keeps `GroundProbeExtra` (steps down) | Support used to start 30 cm early and braked the fall in the air — no dip (owner: no landing feedback). Now 4.5 g legs stop the body below the stance: 1 m → 0.23 m dip, 5 m → 0.88 m (legs fully folded), view follows (eye vs camera ≤ 5 cm after impact) |
| **Rise eased to what gravity can stop**: `min(MaxRiseSpeed, √(2·0.7g·below))` | Legs push, never pull: rising at 1.2 m/s into the stance overshot 4 cm on gravity alone |
| **Play-space corrections shift ground control's / head guide's feed-forward history horizontally only** | The vertical goals are floor-relative (− floorY) and don't move with the play space; shifting them turned the view riding the dip into a +1 m/s feed-forward → 15 cm bounce |
| **Legs collider drive speed-limited** (`LegsMaxSpeed` 1.5 m/s) | Untucking after a landing slammed the 6 kg box down; the reaction kicked the pelvis up |
| **Jump (right A)**: state Dip (support goal drops to ≥ JumpDip + extension of stroke) → Push (JumpForce 2.4 × weight to full extension, max stroke 0.5 m) → Flight (no ground while rising) → touchdown. Buffer 0.15 s, coyote 0.12 s, head guide off | Takeoff speed is physics, v² = 2(F/m − g)·stroke (+ the dip's rebound): standing hips rise 0.45 m, from a 0.45 m crouch 0.72 m |
| **Stick crouch (right stick Y)** = `RagdollDriver.StickCrouch`, a virtual floor this far above the real one, fed to the solver, ground control and the view re-centering | The pose crouches, the play space settles that far below the ground, the camera rides down. Spike: 0.6 m → eye 1.045, origin −0.601, eye vs camera 5 mm; back up to 1.650 |
| **XR origin drawn interpolated** (`PlayerRig`: physics owns `_physOrigin`; `_Process` (priority −100) shows `prev.InterpolateWith(cur, Engine.GetPhysicsInterpolationFraction())`, `_PhysicsProcess` (priority −100) restores it; anyone else moving the origin is adopted; jumps/snap turns don't interpolate) | The bodies are drawn interpolated a tick behind while the origin stepped raw at 144 Hz under a 90 Hz display — the body looked like it was in two places when moving (owner). Not verifiable headless; needs the headset |
| Menu summon on left X only | Right A is jump |