( current: number, target: number, lambda: number, dt: number, )
| 235 | * cameraX = math.damp(cameraX, target.x, 5, dt / 1000); |
| 236 | */ |
| 237 | export function damp( |
| 238 | current: number, |
| 239 | target: number, |
| 240 | lambda: number, |
| 241 | dt: number, |
| 242 | ): number { |
| 243 | return current + (target - current) * (1 - Math.exp(-lambda * dt)); |
| 244 | } |
| 245 | |
| 246 | /** |
| 247 | * Linearly interpolate a value from an array at the given position. |