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

freeCodeCamp

Create a Cute Room Portfolio with Blender, Three.js, JavaScript - Beginner Course

via freeCodeCamp

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn to build an interactive 3D portfolio website by combining Blender 3D modeling with Three.js web development in this comprehensive 8-hour 43-minute beginner course. Master the complete workflow from 3D modeling to web deployment, starting with Blender fundamentals including quad topology, blocking out techniques, and detailed modeling of room elements like desks, computers, furniture, decorative items, and a cute character named Mr. Whiskers. Explore advanced Blender features including procedural materials, lighting systems, UV unwrapping, texture baking, and proper export techniques for web optimization. Transition to web development by setting up a Three.js project with Vite.js, implementing model and texture compression, creating custom materials for glass, water, and screen effects, and adding interactive features through raycaster click and hover interactions. Enhance the user experience with GSAP animations for modals and intro sequences, custom loading screens, OrbitControls customization for camera movement limitations, and audio integration using Howler.js. Complete the project by deploying to GitHub and Vercel, with practical tips for responsive design and performance optimization. Access the live demo, complete source code, Blender files, and ongoing updates through the provided GitHub repository, while receiving guidance on GPU optimization settings for both Windows and Mac systems.

Syllabus

46:00 Sorry, accidental cut here, use the loop tools addon we installed and with those faces
- 0:00:00 Introduction and Project Demo
- 0:01:29 What we will cover and not cover
- 0:02:17 What to expect for course structure
- 0:02:45 Prerequisites
- 0:03:34 Support the channel and me!!
- 0:04:03 A brief look at quad topology
- 0:05:41 Modeling room base and a look at blocking out
- 0:11:43 Modeling standing desk
- 0:18:29 Modeling monitor rise
- 0:21:47 Modeling computer
- 0:25:13 Modeling table pad
- 0:25:58 Modeling computer keyboard
- 0:32:15 Modeling pencils and pencil holder
- 0:34:12 Modeling flower pot and flowers
- 0:41:34 Modeling small motivational quote thing
- 0:44:44 Modeling computer speaker
- 0:47:19 Modeling headphones and headphone stand
- 0:58:51 Adjusting room
- 0:59:46 Modeling computer
- 1:14:33 Modeling cute character Mr. Whiskers
- 1:19:50 Modeling coffee mug
- 1:21:08 Modeling chair
- 1:31:17 Modeling drawer
- 1:34:10 Modeling book
- 1:36:58 Modeling flower basket
- 1:46:10 Modeling pegboard
- 1:52:40 Modeling photo frame
- 1:54:50 Modeling slippers
- 1:58:31 Modeling storage boxes
- 1:59:31 Modeling hanging plant
- 2:13:34 Modeling piano
- 2:21:15 Modeling window
- 2:27:11 Modeling microphone
- 2:30:55 Modeling egg rug
- 2:31:46 Modeling lamp
- 2:33:04 Modeling more floating shelves
- 2:34:24 Modeling sticky notes
- 2:34:37 Modeling boba plushie
- 2:37:21 Adding some more details to piano
- 2:37:42 Modeling logos
- 2:40:24 Modeling clock
- 2:41:48 Modeling mini table
- 2:42:48 Modeling pizza
- 2:47:12 Modeling soda can
- 2:49:51 Modeling another hanging plant but with particle system
- 2:58:18 Modeling eggs
- 2:58:47 Modeling wall outlet
- 3:00:34 Adding and working with text meshes
- 3:05:15 Modeling hanging lights and light bulb
- 3:10:13 Modeling floor planks
- 3:11:58 Modeling cords
- 3:12:50 Modeling room caps
- 3:16:24 An introduction to lighting and materials
- 4:07:25 Creating first procedural material as a design exploration
- 4:29:56 Creating final first procedural material with vector math
- 4:55:44 Few more tips for baking
- 4:56:58 Checking face orientations/normals
- 5:00:26 Glass material and modeling fish
- 5:01:24 Introduction to baking
- 5:06:52 UV Unwrapping for texture baking
- 6:04:03 Render out an image to share!!!
- 6:06:23 Start baking
- 6:25:26 Analyze and adjusting bakes and exporting preparations
- 6:40:24 Exporting and analysis
- 6:41:49 Setup basic three.js starter with Vite.js
- 6:45:18 Compressing model and textures
- 6:48:04 Back to setup
- 6:55:35 Setting up loaders and loading items
- 7:04:07 Room material and appearance adjustments
- 7:06:56 Glass material
- 7:09:44 Water and bubble material
- 7:13:15 Screen material
- 7:17:04 Setting starting camera position and OrbitControls target
- 7:19:10 Preparing for raycaster interactions and model/texture adjustments in Blender
- 7:22:27 UV adjusting and texture painting to quickly patch baking errors
- 7:29:05 Pushing to GitHub and deploying with Vercel
- 7:30:34 Animating fans
- 7:32:38 Raycaster click/touch interactions
- 7:41:38 Basic modal with GSAP animations
- 7:54:37 Optional Loading custom fonts and SCSS tips
- 8:01:31 Raycaster hovering interaction with GSAP
- 8:18:09 Customizing OrbitControls to limit pan and rotation
- 8:23:53 Intro animations with GSAP
- 8:35:25 Custom loading screen walkthrough
- 8:38:06 A brief look at audio with Howler.js
- 8:38:51 Setting a starting camera position for responsiveness
- 8:39:41 Final push to GitHub!!!
- 8:40:05 Final comments, future directions/challenges, shoutouts

Taught by

freeCodeCamp.org

Reviews

Start your review of Create a Cute Room Portfolio with Blender, Three.js, JavaScript - Beginner Course

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.