Scroll animations with React Three Fiber and GSAP

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • r3f-scrolling-animation-tutorial

  • You can get the model from here

  • gltfjsx

    🎮 Turns GLTFs into JSX components

  • /* Auto-generated by: https://github.com/pmndrs/gltfjsx */ import { useGLTF, useScroll } from "@react-three/drei"; import { useFrame } from "@react-three/fiber"; import gsap from "gsap"; import React, { useLayoutEffect, useRef } from "react"; export const FLOOR_HEIGHT = 2.3; export const NB_FLOORS = 3; export function Office(props) { const { nodes, materials } = useGLTF("./models/WawaOffice.glb"); const ref = useRef(); const tl = useRef(); const libraryRef = useRef(); const atticRef = useRef(); const scroll = useScroll(); useFrame(() => { tl.current.seek(scroll.offset * tl.current.duration()); }); useLayoutEffect(() => { tl.current = gsap.timeline(); // VERTICAL ANIMATION tl.current.to( ref.current.position, { duration: 2, y: -FLOOR_HEIGHT * (NB_FLOORS - 1), }, 0 ); // Office Rotation tl.current.to( ref.current.rotation, { duration: 1, x: 0, y: Math.PI / 6, z: 0 }, 0 ); tl.current.to( ref.current.rotation, { duration: 1, x: 0, y: -Math.PI / 6, z: 0 }, 1 ); // Office movement tl.current.to( ref.current.position, { duration: 1, x: -1, z: 2, }, 0 ); tl.current.to( ref.current.position, { duration: 1, x: 1, z: 2, }, 1 ); // LIBRARY FLOOR tl.current.from( libraryRef.current.position, { duration: 0.5, x: -2, }, 0.5 ); tl.current.from( libraryRef.current.rotation, { duration: 0.5, y: -Math.PI / 2, }, 0 ); // ATTIC tl.current.from( atticRef.current.position, { duration: 1.5, y: 2, }, 0 ); tl.current.from( atticRef.current.rotation, { duration: 0.5, y: Math.PI / 2, }, 1 ); tl.current.from( atticRef.current.position, { duration: 0.5, z: -2, }, 1.5 ); }, []); return ( ); } useGLTF.preload("./models/WawaOffice.glb");

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Google Fonts

    Font files available from Google Fonts, and a public issue tracker for all things Google Fonts

  • It tells tailwind to watch into the .html and .jsx files and it changed the default fonts to one I chose from Google Fonts.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Is purging still the hardest problem in computer science?

    1 project | dev.to | 1 May 2024
  • Ask HN: Those of you who don't use AWS/Azure/GCP, what do you use for hosting?

    2 projects | news.ycombinator.com | 30 Apr 2024
  • Express 5.0 – Last Push

    2 projects | news.ycombinator.com | 30 Apr 2024
  • RefactAI: Use best-in-class LLMs for coding in your IDE

    1 project | news.ycombinator.com | 30 Apr 2024
  • Show HN: Lightweight, React IDE component which runs user written Python code

    1 project | news.ycombinator.com | 30 Apr 2024