RootDriftCompensatorControl entfernt, AnimationLibrary auf Stand 7dcf16f
zurückgesetzt (snapRootBoneXZ friert XZ auf frame0-Wert ein, Early-Return
bleibt, kein Clip-Clearing in applyAllTo).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Neues Control auf dem Modell-Spatial (nach AnimComposer hinzugefügt):
- Läuft nach AnimComposer aber vor SkinningControl → liest aktuellen Frame
- Findet den flachsten Knochen mit nicht-nullem Model-Space XZ (= Hüft-Bone)
- Verschiebt den Modell-Spatial in die entgegengesetzte Richtung
- Mesh bleibt immer über der Physik-Kapsel; Y (sit_down/Jump) wird nicht berührt
- Animations-Daten, J3Os und AnimationLibrary bleiben unverändert
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rigs wo Hips auf Tiefe 1 liegt (Kind des Root) wurden bisher nicht gesnappt
weil nur Tiefe-0-Joints gefunden wurden. Jetzt wird die kleinste Tiefe unter
allen Joints mit Translation-Track gesucht und nur diese Ebene eingefroren.
Passt zu beiden Rig-Strukturen (Root-Translation und Hips-Translation).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Beim Anwenden eines Clips auf ein Modell (AnimationLibrary.applyTo) wird der
Root-Joint-Track jetzt in-memory gepatcht: X und Z werden auf Frame-0-Wert
eingefroren, Y (Höhenachse) bleibt vollständig frei. Damit bleibt das Mesh
immer über der Physik-Kapsel, sit_down/Jump/Bounce laufen korrekt weiter.
J3O-Dateien werden nicht verändert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>