Create a 3D Car Racing Game with THREE.js and CANNON.js
What you'll learn
- You will have a knowledge of the THREE js library.
- You will have a working knowledge of how a physics engine works. Particularly CANNON js
- You will know how to adapt your assets to work with the CANNON RayCastVehicle class.
- You'll know how to use the position and rotation information from the physics engine and apply it to your assets.
- You will know how to use colliders in your scene to prevent your car driving through your 3d environment.
- The tools required are a good text editor and optionally a 3D application program that exports FBX files such as Blender.
Creating a car racing game that works in a browser including mobile devices has never been easier. Using the two Open Source libraries THREE.js and CANNON.js this course takes you through the steps you will need to know and builds towards a complete car racing game. On the way you will learn
How to setup your development environment
How to access free and low cost assets to use in your game.
How to edit those assets to work with the THREE.js and CANNON.js libraries.
How to use THREE.js to add 3D to an HTML page.
The basics of THREE.js lights, cameras and meshes.
The basics of the CANNON.js library, including rigid bodies.
How to debug your physics either using the CannonDebugRenderer or using the CannonHelper class created by the author. Both are included in the resources for the course.
How to use the CANNON.RayCastVehicle class to add a car with suspension and fully working wheels.
How to apply your own assets to the RayCastVehicle and add colliders so it bumps into your content.
How to add a responsive GUI to the game
The course includes the assets for car racing game as shown in the course image and promo video. The author has won awards for the 3D games he has produced. Learn from an expert who has been creating games for over 30 years. The game we'll develop allows the player to choose from optional, body, engine, exhaust and wheels. It involves driving a remote controlled car around a garden track.
Who this course is for:
- If you are interested in developing 3D games that work in the browser including on mobile devices.
- If you are interested in learning how physics engines work while creating a fun game.
- If you want to know how to add a responsive GUI to your game.
After getting a degree in Graphic Design, I started work in 1980 as a cartoon animator. Buying a Sinclair ZX81 back in 1982 was the start of a migration to a full time programmer. The ZX81 was quickly swapped for the Sinclair Spectrum, a Z80 processor and a massive 48K of ram made this a much better computer to develop games. I developed a few games using Sinclair Basic and then Assembler. The Spectrum was swapped for a Commodore Amiga and I developed more games in the shareware market, moving to using C. At this stage it was essentially a hobby. Paid work was still animated commercials.
I finally bought a PC in the early nineties and completed an Open University degree in Maths and Computing. I created a sprite library ActiveX control and authored my first book, aimed at getting designers into programming. In the mid nineties along came Flash and the company I was now running, Catalyst Pictures, became known for creating games.
Since then the majority of my working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.
I've worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation and many other blue chip clients. The company I've run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.
Over the last 20 years I have been struck by just how difficult it has been to get good developers and have decided to do something about this rather than just complain. I run a CodeClub for kids 9-13 years old and I'm developing a number of courses for Udemy hoping to inspire and educate new developers. Most of my courses involve real-time 3d either using the popular Open Source library Three.JS or Unity. I'm currently having a lot of fun developing WebXR games and playing with my Oculus Quest.