Audio Phase 4d (AUDIO_FIDELITY F5): footStep is the authored CONTACT LEVEL
The binary's per-frame perf (disasm @0x4a9e80-0x4a9eb6 leg / @0x4aba86- 0x4abab9 body) computes footStep@0x394 = (jointlocal.y <= *footStepThreshold) with the threshold pointer = SequenceController+0x20 = &ANI hdr[2] -- the header word the engine's own AnimationInstance captures (JMOVER.cpp:1415) and our SelectSequence skipped. States 0/1 retain the value. Port: SelectSequence captures hdr[2]; PerformAndWatch evaluates the contact level per frame from the cached jointlocal root joint (leg channel drives the pose); the 150 ms clip-transition pulse + decay are RETIRED (steps fired at clip boundaries with a fixed width; clips whose root crosses twice or never counted wrong). Live verification (30s walk): the authored threshold decodes real (-0.232 root height); rootY oscillates across it per stride (-0.26 contact / -0.19 swing) with clean 0->1->0 transitions per leg state (5/6/7); 34 footfall deliveries at stride rate with per-stride varying gains. Also closes F23(2): the 17 authored AnimationState trigger states fire empirically -- the EngineShiftFwd/Rev heard during the gait dead-band hunt WERE states 10/11/14/15; the runtime clip numbering is correct. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
9dcb4752de
commit
0e2401fb52
@@ -149,6 +149,10 @@ void
|
||||
int *hdr = (int *)desc->resourceAddress; // resource data (binary: *(desc+0x3c))
|
||||
keyframeCount = hdr[0]; // @0x14 frameCount
|
||||
jointCount = hdr[1]; // @0x18 jointCount
|
||||
// (AUDIO_FIDELITY F5) hdr[2] = the clip's authored footstep contact
|
||||
// threshold (root height); previously skipped. Same capture as the
|
||||
// engine's AnimationInstance (JMOVER.cpp:1415).
|
||||
footStepThreshold = (Scalar *)(hdr + 2); // @0x20
|
||||
|
||||
int *p = hdr + 3; // jointIndices follow hdr[0..2]
|
||||
jointIndices = p; // @0x1c (jointCount ints)
|
||||
|
||||
Reference in New Issue
Block a user