
Join a practical introduction to physics practices for Three.js, Cannon, and Blender, and follow step-by-step actions to build a scene and configure your project.
Blender domino creation: delete default content, add a cube, enter edit mode, scale along x and y, insert loop cuts and bevel, inset faces, then extrude to complete the domino.
Master texture and UV editing in Blender by applying an image texture to the base color, configuring UV maps, and positioning vertices to align white and black areas across faces.
Bevel edges in Blender to add detail by selecting corner edges in edit mode, pressing Ctrl B, and scrolling the mouse wheel to control edge segments; repeat on side edges.
Master Blender basics to create a row by modeling a plane and path curve, extruding, and using an array modifier and a curve modifier along the y-axis.
Learn how to use Blender modifiers to create tiled rows by cloning a plane across faces, applying array and curve modifiers, making instances real, and deleting the helper objects.
Identify shared vertex data among copies in Blender, unlink each copy's vertex information to assign unique values, and delete the overlaid original to prevent material conflicts.
Adjust the material for each copy using uv editing. Select a figure and reconfigure its faces to represent another value.
Place a cube as ground, move it down, center it, scale it, apply a base color, rename Ground, then add a point light at power 4; Three.js interprets power strongly.
Use blender to tilt the first figure, rotate with R X, save changes, export as glTF 2.0, name the file, and include punctual lights.
Configure a three.js project in vscode by initializing with npm, installing webpack, three, cannon-es, and cannon-es-debugger, then create dist and src with index.js and index.html and dist/models/glb, updating package.json.
Edit the index.html to establish a basic structure, add a canvas element with id MyCanvas, and reference main.js, which will be created later with webpack.
Import Three.js, Cannon, and GLTFLoader in index.js; create the canvas, scene, renderer, light, and a group for content, and set up the camera with OrbitControls, CannonDebugger, and gravity.
Initialize arrays and a glTF loader, load a glb model, traverse its meshes to identify ground, and configure cannon materials, shapes, and bodies for collision before grouping in the scene.
Create an interactive GUI in index.js to control physics: set pause, add a 300-size GUI panel with pause and load buttons, and expose world.gravity via a folder.
Create the animate function, call requestAnimationFrame to loop, update the cannon world with world.fixedStep when camera is set and pause is false, update object meshes from body data, and render.
Build a compact main.js by running npm run build, locate it in dist, and serve the project locally with http-server by starting the server in the dist folder.
Explore the final result of your work and learn to control the camera with the mouse while tweaking scene parameters with the floating panel.
Hello and welcome.
If you are a developer or designer who is interested in create and 3D environment that can be used to simulate simple physics process that interact with other elements in the same scenario, this course is for you.
In this course we will focus on using Blender to create an scenario with multiples elements that will interact with each others and then we will configure that scenario to create a physic simulation using JavaScript, CANNON and Three.js.
We will create the scenario by using the tools provided by Blender like modifier and UV editing and the, we will configure our web project using Visual Studio Code.
In this course you will learn:
Create 3D models in Blender.
UV Editing
Using Curve and Array Modifier
Exporting the scene to be used in different applications.
Use Visual Studio Code as a work environment with webpack.
Download the dependencies necessaries for the project
We will load our 3D model into a web page and run the simulation using Three.js and CANNON
Create a local server to run the project
I hope that the content of this course will be useful to you and that you can apply it to your personal projects.
Have fun and happy learning.