Why does your camera feel robotic?

It snaps. Smooth it with one call.

Why does your camera feel robotic?

The problem

It jumps straight there.

protected override void OnUpdate(){    float target = IsCrouching ? 32f : 64f;    EyeHeight = target;}

Crouch and the camera teleports 32 units down in a single frame.

The fix

Close part of the gap each frame.

LerpTo moves a value a fraction of the way toward its target, every frame.

current→LerpTo( target, t )

The fix in code

One call.

protected override void OnUpdate(){    float target = IsCrouching ? 32f : 64f;    EyeHeight = EyeHeight.LerpTo( target, Time.Delta * 10f );}

Each frame closes part of the gap. Raise the 10 to make it snappier, lower it to make it floatier.

What it looks like

Fast start, gentle stop.

Percent of the way to the target, at 60 FPS:

After 1 frame
17 %
After 10 frames
84 %
After 20 frames
97 %

Most of the movement happens early, then it eases in.

The rule

Don't snap. Lerp.

Smooth a value
x.LerpTo( target, t )
Speed
Time.Delta × 10
Snappier
raise the 10