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

**URL:** <https://discourse.threejs.org/t/how-is-the-scrolling-animation-implemented-on-the-unseen-studio-website/87789>\
**Category:** Questions\
**Created:** [October 29, 2025, 7:47am UTC](https://discourse.threejs.org/t/how-is-the-scrolling-animation-implemented-on-the-unseen-studio-website/87789 "2025-10-29T07:47:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Muhammad\_Qasim](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/muhammad_qasim/32/64217_2.png) [@Muhammad\_Qasim](https://discourse.threejs.org/u/Muhammad_Qasim)\
**Post date:** [October 29, 2025, 7:47am UTC](https://discourse.threejs.org/t/how-is-the-scrolling-animation-implemented-on-the-unseen-studio-website/87789/1 "2025-10-29T07:47:20Z")

</div>

I’m trying to recreate the scroll-based 3D animation effect from this website:  
👉 [https://unseen.co/projects/](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! 🙏  
Any tips or references would be super helpful.
