R3F Cookbook : ScrollControls 컴포넌트 +( Scroll, useControl )
- R3F의
ScrollControls 컴포넌트는 3D 장면을 HTML 페이지처럼 스크롤할 수 있도록 해주는 핵심 기능입니다. ↔️
ScrollControls는 Scroll 컴포넌트와 useScroll 훅과 함께 사용되어 3D 오브젝트와 HTML 콘텐츠의 스크롤을 통합 관리합니다. 🔗
useThree 훅을 활용하여 뷰포트의 높이 값을 얻고, 이를 기반으로 3D 오브젝트(메시)의 위치를 각 스크롤 페이지에 맞게 정확히 배치합니다. 📏
OrbitControls를 제거하고 카메라 위치를 조정하여, 스크롤 시 확대/축소 대신 페이지 이동에 집중하도록 3D 장면 설정을 최적화합니다. 🚫
ScrollControls 컴포넌트의 pages 속성으로 전체 스크롤 페이지 수를 명시하고, 스크롤 대상이 되는 3D 및 HTML 콘텐츠를 Scroll 컴포넌트로 감싸 스크롤 기능을 활성화합니다. 📜
- 일반 HTML 요소(예:
div 태그)를 Scroll 컴포넌트 내에 배치하고 CSS 스타일을 적용하여, 3D 장면과 함께 스크롤되는 텍스트 콘텐츠를 효과적으로 통합합니다. ✍️
useScroll 훅을 통해 현재 스크롤 진행도(offset)를 얻고, scroll.curve() API를 활용하여 특정 스크롤 구간에서 3D 오브젝트의 투명도(opacity)와 같은 속성을 동적으로 조절하는 애니메이션을 구현합니다. ✨
데브허브 | DEVHUB | R3F Cookbook : ScrollControls 컴포넌트 +( Scroll, useControl )