How is the scrolling animation implemented on the Unseen Studio website?

I’m trying to recreate the scroll-based 3D animation effect from this website:
:backhand_index_pointing_right: https://unseen.co/projects/

When you scroll, the 3D scene (camera and objects) move beautifully — almost like a cinematic z-axis animation synced with scroll progress.

I’ve been experimenting with Three.js, GSAP ScrollTrigger, and requestAnimationFrame, but I can’t seem to achieve the same smooth effect or camera transition.

Does anyone know how this scroll-driven animation is structured?

For example:

  • Is it controlled through ScrollTrigger timeline updates or manual scrollY interpolation?

  • Are they using a canvas texture scroll or 3D camera movement?

  • Any idea what libraries or techniques might be used for this type of effect?

Thanks in advance! :folded_hands:
Any tips or references would be super helpful.