This is a project written in javascript and typescript, using react, nextjs, expressjs, nodejs, babel, threejs and cannon-es. The aim is to create a working flight simulator inside a web browser which works on lots of different devices including mobile.
- Add basic cannon-es to the three-js world with gravity
- Fix the .glb handler so it works in nextjs
- Create a class system for handling all aspects of the plane
- Use an existing plane model and split the propeller away from the model
- Cut out holes in the wings, vertical stabilizer and on the elevators
- Add basic velocity to the plane using keyboard control
- Fix the camera to the tail of the plane and update each frame with render handler
- Setup the wheels as cannon-es wheels so the plane can roll
- Add basic friction to the wheels
- Make the control surfaces a separate .glb file
- Position and animate the control surface depending on keyboard input
This project is a mix of Javascript and Tyescript, to run the project in its current state simply use:
npm start
If you want to run the client app without the serverside functionality and Web sockets use