Skip to content
MotionLab

3D Tilt & Glare

Perspective tilt that follows the pointer, with a moving specular glare layer.

sketchMotionCSS

How it works

useMotionValue for pointer position → useTransform to rotateX/rotateY and to the glare gradient position via useMotionTemplate.

Performance

Pointer/drag values live in MotionValues — they update the DOM directly and never trigger a React render.

Accessibility & reduced motion

Tilt is disabled in reduced-motion mode; content remains fully legible flat.

Playgroundspring
settle 0.61sovershoot 5%ζ 0.95

Export
transition={{ type: 'spring', stiffness: 150, damping: 18, mass: 0.6 }}