smooth-interpolation
from verekia/r3f-gamedev
⚛️ React Three Fiber Game Dev Recipes
19 stars0 forksUpdated Jan 21, 2026
npx skills add https://github.com/verekia/r3f-gamedev --skill smooth-interpolationSKILL.md
Smooth Interpolation
Animate values smoothly using exponential decay instead of linear interpolation.
Technique
Use exponential smoothing formulas to interpolate between current and target values. This creates a natural easing effect that's frame-rate independent.
Key Concepts
- Exponential smoothing:
(target - current) * (1 - Math.exp(-speed * dt)) - Exponential decay:
target + (current - target) * Math.exp(-decay * dt) - Both formulas produce the same result with different parameters
- Speed/decay values from 1-25 work well
- Frame-rate independent due to delta time usage
Usage
const addSmoothExp = (current: number, target: number, speed: number, dt: number) =>
(target - current) * (1 - Math.exp(-speed * dt))
const expDecay = (current: number, target: number, decay: number, dt: number) =>
target + (current - target) * Math.exp(-decay * dt)
useFrame((_, delta) => {
mesh.position.x += addSmoothExp(mesh.position.x, targetX, 3, delta)
// or
mesh.position.x = expDecay(mesh.position.x, targetX, 3, delta)
})
References
This skill is part of verekia's r3f-gamedev.
Repository
verekia/r3f-gamedevParent repository
Repository Stats
Stars19
Forks0
LicenseMIT License