瀏覽代碼

add Eiderens suggestion

Doprez 1 年之前
父節點
當前提交
a3004ca4bb
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      en/manual/physics/fix-physics-jitter.md

+ 5 - 3
en/manual/physics/fix-physics-jitter.md

@@ -21,16 +21,18 @@ public class SmoothFollowAndRotate : SyncScript
 
 	public override void Update()
 	{
-		var deltaTime = (float)this.Game.UpdateTime.Elapsed.TotalSeconds;
+		var deltaTime = (float)Game.UpdateTime.Elapsed.TotalSeconds;
 		var currentPosition = Entity.Transform.Position;
 		var currentRotation = Entity.Transform.Rotation;
 
+		var lerpSpeed = 1f - MathF.Exp(-Speed * deltaTime);
+
 		EntityToFollow.Transform.GetWorldTransformation(out var otherPosition, out var otherRotation, out var _);
 
-		var newPosition = Vector3.Lerp(currentPosition, otherPosition, Speed * deltaTime);
+		var newPosition = Vector3.Lerp(currentPosition, otherPosition, lerpSpeed);
 		Entity.Transform.Position = newPosition;
 
-		Quaternion.Slerp(ref currentRotation, ref otherRotation, Speed * deltaTime, out var newRotation);
+		Quaternion.Slerp(ref currentRotation, ref otherRotation, lerpSpeed, out var newRotation);
 		Entity.Transform.Rotation = newRotation;
 	}
 }