Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Programming 3D Graphics with Three.js
Highest Rated
Rating: 4.7 out of 5(48 ratings)
325 students

Programming 3D Graphics with Three.js

A Beginner’s Guide to Creating Interactive 3D Graphics with Three.js and JavaScript
Created byJuan Espinoza
Last updated 1/2025
English
English [Auto],

What you'll learn

  • Understand the Fundamentals of Threejs
  • Create and Manipulate 3D Objects
  • Implement Camera Systems and Controls
  • Apply Materials, Textures, and Lighting
  • Integrate and Animate 3D Models
  • Design Responsive 3D Scenes
  • Implement Raycasting and User Interactions
  • Optimize Performance and Apply Post-Processing Effects

Course content

6 sections28 lectures6h 4m total length
  • Introduction6:29

    In this lesson, we'll kick off our Three.js journey by providing an overview of the course, outlining the topics we'll cover. We'll discuss the prerequisites, such as familiarity with HTML, CSS, and JavaScript, to ensure you're well-prepared for the content ahead. You'll be introduced to Three.js, understanding its role in simplifying complex WebGL tasks and creating 3D graphics for the web. Additionally, we'll look at a list of useful resources.

  • Installation10:56

    In this lesson, we'll start by setting up our development environment, beginning with Visual Studio Code (VSCode) as our code editor and Node.js for running JavaScript outside the browser. We'll walk through initializing a Node project and installing Three.js to get started with 3D graphics. Additionally, we'll introduce Vite, a modern build tool that enhances our development workflow. Finally, we'll create an HTML file to serve as the entry point for our Three.js application.

  • Hello Cube10:21

    In this lesson, we'll delve into the core components and structure of a Three.js application. You'll learn about the fundamental elements that make up a Three.js scene, starting with the scene itself, which serves as the container for all 3D objects. We'll then cover the camera, which determines what part of the scene is visible to the viewer, and the renderer, which processes the scene and camera to produce the final output on the screen. Additionally, we'll explore meshes.

  • Primitives9:52

    In this lesson, we'll learn about primitive geometries, which are basic shapes like cubes, spheres, and planes. We'll dive into scene coordinates to understand how objects are positioned and oriented within the 3D space. You'll also learn about object transformations, including translation, rotation, and scaling. Finally, we'll distinguish between meshes and geometries, understanding their roles and how they work together to create 3D objects.

  • Scene Graph16:26

    In this lesson, we'll introduce the concept of the scene graph and learn how to create a hierarchy within it to efficiently manage and organize 3D objects. We'll explore the differences between local and world coordinates to understand how objects are positioned and transformed in the scene. You'll learn how to manipulate the hierarchy to create complex structures and relationships between objects. We'll also cover the Object3D class, which serves as the base class for most objects in Three.js, and the Group class, which allows you to group multiple objects together.

  • Camera7:50

    In this lesson, we'll explore different types of cameras in Three.js, starting with the perspective camera, which simulates the way the human eye sees and is ideal for creating realistic 3D scenes. We'll also talk about the orthographic camera, which provides a flat view without perspective distortion, useful for certain types of visualizations and 2D-like views. Additionally, we'll discuss how cameras in Three.js can be treated as objects, allowing you to transform them just like any other 3D object in your scene.

Requirements

  • Basic familiarity with JavaScript
  • Familiarity with HTML and CSS (Optional)

Description

Welcome to "Programming 3D Graphics with Three.js," a beginner's guide to mastering 3D graphics using the powerful Three.js library and JavaScript. If you've ever wanted to bring your web development skills to the next level by creating stunning, interactive 3D visuals, this course is your perfect starting point. Designed specifically for those with an understanding of JavaScript, this course will walk you through everything you need to know to create interactive 3D graphics.


Why This Course?


Each section includes clear, step-by-step instructions, and downloadable resources to help you practice and apply what you've learned. By the end of the course, you'll have a solid understanding of Three.js and be able to create interactive 3D graphics that can be used in web development, game design, data visualization, and more.


How Will This Course Help You?


By completing this course, you'll gain a practical skill set that can be applied to a wide range of personal and professional projects. Whether you're looking to create interactive websites, design immersive games, or develop innovative data visualizations, the knowledge and experience you'll gain from this course will be indispensable.


Course Structure


The course is structured to gradually build your knowledge, starting from the very basics and moving to more advanced topics. Each module is designed to be concise and focused, allowing you to learn at your own pace.


Enroll Now and Start Your Journey in 3D Graphics!


Don't miss out on the opportunity to elevate your web development skills and create stunning 3D visuals. Enroll in "Programming 3D Graphics with Three.js" today and take the first step towards mastering one of the most exciting and in-demand skills in the tech industry. Whether you're looking to advance your career or simply explore a new hobby, this course has everything you need to succeed.


Join us and discover the endless possibilities of 3D graphics with Three.js!

Who this course is for:

  • JavaScript Developers Interested in 3D Graphics
  • Designers and Creatives Exploring 3D Animation
  • Web Developers Looking to Enhance Their Skillset
  • Game Developers Interested in Web-Based 3D Environments