Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

JavaScript Tutorial with Three.js - 5 Projects for Beginners

via freeCodeCamp

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Master fundamental JavaScript and Three.js concepts through five comprehensive standalone projects in this 85-minute tutorial. Begin with a roadmap that outlines the Three.js toolbox, core components including scene, camera, and renderer, plus geometries, materials, meshes, lighting, and animations across beginner, intermediate, and advanced skill levels. Explore texture application techniques including simple textures, aspect ratio handling, normal and roughness maps, materials and lighting interactions, and experimentation with different texture types. Build an interactive 3D globe featuring a textured sphere, starfield background, floating country outlines, atmospheric fog effects, and dynamic color variations. Create engaging particle effects including smoke, fire, and sparkly dot animations while learning to manipulate particle properties and rotation mechanics. Develop scroll-triggered animations by setting up HTML and CSS, linking Three.js to the DOM, responding to scroll events, loading and applying matcap materials to 3D models, creating starfields, and implementing smooth animation transitions. Conclude with physics integration using Rapier physics engine, covering scene setup, HDR environment lighting, metallic and reflective objects, various geometries, rotational physics, collider visualization, convexHull implementation for custom colliders, enhanced mouse interactivity, GLTF model integration, and color palette systems. Each project includes complete source code repositories and can be completed independently, allowing learners to focus on specific areas of interest while building practical Three.js development skills.

Syllabus

- 0:00 Welcome & Course Overview
- 0:20 Projects You'll Build
- 0:51 Meet Your Instructor: Bobby Row
- 1:03 The 5 Standalone Projects
- 1:34 Skipping Around the Course
- 1:39 Getting Started with 3JS
- 2:23 Understanding the 3JS Toolbox
- 2:54 The Core 3JS Components Scene, Camera, Renderer
- 3:10 Geometries, Materials & Meshes
- 4:13 The Importance of Lighting
- 4:30 Simple Animations
- 4:57 The Beginner's Road Map
- 5:12 The Intermediate Road Map
- 6:21 The Advanced Road Map
- 6:45 Where to Find Help & Inspiration
- 7:08 Learn by Experimenting
- 7:26 An Introduction to Textures
- 7:50 Applying a Simple Texture
- 8:48 Handling Texture Aspect Ratios
- 10:50 Normal & Roughness Maps
- 12:20 Materials & Lighting
- 14:40 Understanding Normal Maps
- 15:11 Roughness Maps & Shininess
- 16:45 Experimenting with Different Textures
- 17:35 Building the 3D Globe
- 18:50 Setting Up the Sphere
- 21:56 Adding Stars to the Scene
- 22:54 Drawing Country Outlines
- 28:17 Using Fog for Depth
- 31:56 Adding Random Colors
- 34:50 Creating Particles
- 35:43 Building a Smoke Effect
- 37:12 Tweaking Particle Properties
- 39:38 Creating a Fire Effect
- 41:46 The Sparkly Dot Effect
- 45:50 The Role of Rotation
- 46:20 Scroll-Triggered Animations
- 46:55 Setting up HTML & CSS
- 48:25 Linking 3JS to the DOM
- 49:03 Responding to Scroll Events
- 50:42 Loading the Astronaut Model
- 53:48 Applying a Matcap Material
- 54:38 Linking Rotation to Scroll
- 55:29 Adding a Starfield
- 57:49 Smoothing the Animation
- 1:00:46 An Introduction to Physics with Rapier
- 1:02:00 Initial Scene Setup
- 1:05:27 Adding HDR Environment Lighting
- 1:07:49 Creating Metallic & Reflective Objects
- 1:09:08 Incorporating Different Geometries
- 1:10:45 Adding Rotational Physics
- 1:11:31 Visualizing Colliders
- 1:12:47 Using convexHull for Custom Colliders
- 1:17:31 Improving Mouse Interactivity
- 1:21:20 Integrating a GLTF Model
- 1:22:55 Adding a Color Palette

Taught by

freeCodeCamp.org

Reviews

Start your review of JavaScript Tutorial with Three.js - 5 Projects for Beginners

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.