Skip to content

A comprehensive, hands-on learning roadmap to master React Three Fiber (R3F) - a React renderer for Three.js that allows you to build stunning 3D web experiences declaratively with React.

License

Notifications You must be signed in to change notification settings

TechnoBlogger14o3/react-three-fiber-tutorials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎨 React Three Fiber Tutorial Series

Complete React Three Fiber tutorial series: 7 courses, 41 examples, 12 projects. Learn 3D web development from basics to advanced - 3D models, animations, physics, post-processing, optimization & deployment.

A comprehensive, hands-on learning roadmap to master React Three Fiber (R3F) - a React renderer for Three.js that allows you to build stunning 3D web experiences declaratively with React.

License: MIT React Three.js

🎯 Learning Goals

By the end of this series, you will be able to:

  • βœ… Build interactive 3D web experiences with React
  • βœ… Understand Three.js fundamentals through React
  • βœ… Create animations, interactions, and immersive experiences
  • βœ… Load and manipulate 3D models
  • βœ… Implement physics simulations
  • βœ… Optimize 3D performance in React applications
  • βœ… Deploy 3D applications to production
  • βœ… Follow R3F best practices and patterns

πŸ“š Course Overview

Course Focus Examples Projects Duration
Course 0: Foundation & Setup Understanding 3D concepts, Three.js basics, R3F setup 5 1 1-2 weeks
Course 1: Core Concepts R3F primitives, components, and basic interactions 6 2 2-3 weeks
Course 2: Advanced Geometry & Materials Complex geometries, custom materials, textures 6 2 3-4 weeks
Course 3: Lighting & Post-Processing Advanced lighting, shadows, post-processing effects 6 2 2-3 weeks
Course 4: Animation & Physics Animations, physics simulation, interactions 6 2 3-4 weeks
Course 5: Performance & Optimization Performance optimization, LOD, instancing 6 2 2-3 weeks
Course 6: Advanced Techniques & Production Advanced patterns, deployment, real-world applications 6 2 3-4 weeks
Total 41 12 16-22 weeks

πŸ› οΈ Prerequisites

Before starting this series, you should have:

  • React Fundamentals: Components, hooks, state management
  • JavaScript ES6+: Modern JavaScript features (arrow functions, destructuring, async/await)
  • Basic 3D Math: Understanding of 3D coordinates (helpful but not required)
  • Node.js & npm: Package management and development tools
  • Git: Version control basics
  • Code Editor: VS Code recommended (with React and GLSL extensions)

πŸ—ΊοΈ Learning Path

Phase 1: Foundation (Courses 0-1)

Build understanding of 3D concepts and R3F basics. Learn primitives, transformations, and basic interactions.

Phase 2: Building Blocks (Courses 2-3)

Learn to create complex scenes with models, materials, lighting, and post-processing effects.

Phase 3: Interactivity (Course 4)

Add animations and physics for dynamic, interactive experiences.

Phase 4: Production (Courses 5-6)

Optimize performance and deploy real-world 3D applications.

πŸš€ Quick Start

  1. Clone the repository

    git clone https://github.com/TechnoBlogger14o3/react-three-fiber-tutorials.git
    cd react-three-fiber-tutorials
  2. Navigate to a course

    cd Course-0-Foundation-Setup
  3. Choose an example or project

    cd examples/example-1-hello-3d
  4. Install dependencies

    npm install
  5. Start development server

    npm run dev
  6. Open in browser

    • Navigate to the URL shown in terminal (usually http://localhost:5173)

πŸ“– Course Structure

Each course follows this structure:

CourseX-Topic/
β”œβ”€β”€ README.md          # Theory, concepts, examples overview
β”œβ”€β”€ examples/          # Small working examples
β”‚   β”œβ”€β”€ example-1-topic/
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ public/
β”‚   β”‚   β”œβ”€β”€ package.json
β”‚   β”‚   └── README.md
β”‚   └── ...
└── project/           # Full 3D applications
    β”œβ”€β”€ project-1/
    β”‚   β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ public/
    β”‚   β”œβ”€β”€ package.json
    β”‚   └── README.md
    └── ...

πŸ“¦ Technologies & Libraries

Core

  • React Three Fiber (@react-three/fiber) - React renderer for Three.js
  • Three.js - 3D graphics library
  • React Three Drei (@react-three/drei) - Helpers and utilities

Animation

  • React Spring (@react-spring/three) - Animation library
  • GSAP (optional) - Advanced animations

Physics

  • Rapier (@react-three/rapier) - Physics engine

Post-Processing

  • Postprocessing (postprocessing) - Effects library

Utilities

  • Leva (leva) - GUI controls for debugging
  • Zustand - State management (optional)

πŸ“Š Course Statistics

  • Total Courses: 7 (Course 0-6)
  • Total Examples: 41 examples
  • Total Projects: 12 projects
  • Estimated Duration: 16-22 weeks (4-5.5 months)
  • Difficulty: Beginner to Advanced
  • Estimated Code Files: 150+

πŸ“š Resources

Official Documentation

Learning Resources

  • Three.js Fundamentals
  • WebGL Basics
  • 3D Math Basics

Communities

🎯 Project Ideas by Course

Course 0: Foundation

  • 3D Scene Viewer: Basic scene with multiple objects

Course 1: Core Concepts

  • Interactive 3D Gallery: Clickable objects with animations
  • 3D Product Showcase: Rotating product display

Course 2: Advanced Geometry

  • 3D Model Viewer: Load and display 3D models
  • Material Showcase: Interactive material library

Course 3: Lighting & Effects

  • Lighting Studio: Interactive lighting tool
  • Post-Processing Demo: Effects showcase

Course 4: Animation & Physics

  • Physics Playground: Interactive physics simulation
  • Animated 3D Scene: Complex animation sequences

Course 5: Performance

  • Optimized 3D City: Large scene optimization
  • Performance Benchmark: Optimization comparison

Course 6: Production

  • 3D Portfolio Website: Complete portfolio with 3D elements
  • Interactive 3D Experience: Full-featured 3D application

πŸ“ Learning Checklist

Track your progress with our comprehensive learning checklist. See each course README for detailed checklists.

Course 0: Foundation & Setup

  • Understand what R3F is and why it's useful
  • Set up R3F development environment
  • Create first 3D scene
  • Understand Scene, Camera, Renderer
  • Learn basic 3D coordinate system
  • Set up camera controls

Course 1: Core Concepts

  • Master R3F primitives
  • Understand transformations
  • Use refs in 3D context
  • Handle 3D interactions
  • Create basic animations
  • Organize objects in groups

See individual course READMEs for complete checklists.

🀝 Contributing

Contributions are welcome! This is a learning resource, so improvements and examples are encouraged.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-example)
  3. Commit your changes (git commit -m 'Add amazing example')
  4. Push to the branch (git push origin feature/amazing-example)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Related Tutorial Series

Check out our other comprehensive React tutorial series:

πŸ™ Acknowledgments

πŸ“– Additional Documentation


Ready to start your 3D journey? Begin with Course 0: Foundation & Setup!

Last updated: January 2025

About

A comprehensive, hands-on learning roadmap to master React Three Fiber (R3F) - a React renderer for Three.js that allows you to build stunning 3D web experiences declaratively with React.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published