From cd350a92fa59c7bce88d9b6232d7e1ce724cc04f Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 27 Jun 2026 15:11:44 +0200 Subject: [PATCH] Bank-Sitz: blockingAnimRemaining +1Frame, applyMotionKfOffset als Lerp Co-Authored-By: Claude Sonnet 4.6 --- .../de/blight/game/control/PlayerInputControl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/blight-game/src/main/java/de/blight/game/control/PlayerInputControl.java b/blight-game/src/main/java/de/blight/game/control/PlayerInputControl.java index f422b51..f30a063 100644 --- a/blight-game/src/main/java/de/blight/game/control/PlayerInputControl.java +++ b/blight-game/src/main/java/de/blight/game/control/PlayerInputControl.java @@ -219,7 +219,7 @@ public class PlayerInputControl { duration = resolveClipLength(action, 1.5f); } blockingAnimActive = true; - blockingAnimRemaining = Math.max(duration - (1f / 60f), 0f); + blockingAnimRemaining = duration + (1f / 60f); blockingAnimTotal = duration; blockingAnimCallback = onComplete; autopilotDir = null; @@ -548,10 +548,10 @@ public class PlayerInputControl { Quaternion facing = visual.getLocalRotation().clone(); Vector3f worldOffset = facing.mult(new Vector3f(kf.tx, kf.ty, kf.tz)); kfOffsetTarget.set(worldOffset); - kfOffsetCurrent.set(worldOffset); - kfOffsetSpeed = 0f; - visual.setLocalTranslation(visualBaseTranslation.clone().addLocal(kfOffsetCurrent)); - log.info("[KF] Clip '{}' → Offset ({},{},{}) sofort", clip, worldOffset.x, worldOffset.y, worldOffset.z); + if (kfOffsetCurrent.distanceSquared(worldOffset) > 1e-4f) { + kfOffsetSpeed = 5.0f; + } + log.info("[KF] Clip '{}' → Offset-Ziel ({},{},{})", clip, worldOffset.x, worldOffset.y, worldOffset.z); } public void clearKfOffset() {