Update to my Godot 4.0 VR flight sim. Flight assist, More realistic aerodynamics, Better models.

1 year ago
82

Plugins used in this video:
Godot Aerodynamic Physics: https://github.com/addmix/godot_aerodynamic_physics
Godot Utils: https://github.com/addmix/godot_utils
XR Tools (for Godot): https://github.com/addmix/xr_tools

The main improvements in this update are of course stability and accuracy of the aerodynamic simulation, turns out that my custom drag calculation for the aero surfaces was fighting with the linear and angular damping options available in Godot. This video isn't in VR, as I've used keyboard and mouse throughout development, as it is much easier and less cumbersome for testing. I control the plane with WASDQE for pitch, roll, and yaw, shift and control for throttle, and B for brakes. Optionally I can press left mouse button to shoot visual bullets, which have no effect.

Most of my time recently was spent working on the flight assist, I struggled to find adequate documentation of how the different components work together, and how to structure a closed loop control algorithm to work effectively. In the end, it turned out to be a lot of trial and error, until I finally landed upon my current iteration. It works well, but the yaw control and sideslip is fairly extreme, in large part due to the F-16s relatively small yawing plane.

One thing I did not demonstrate was the camera view rendered on the left side of the cockpit, the two cubes below it are buttons which cycle through the different spectator camera angles. At some point I plan on adding support for keyboard and mouse to be able to interact with these buttons and switches, so you can click on them, allowing myself to test without using a VR headset, but also allowing players without VR headsets to play the game, albeit a lesser experience.

Moving forward, I would like to implement a more complete cockpit, more functions like gear control, flaps, and eventually an engine/fuel simulation. I don't think I will properly implement weapons or missiles yet, as they are more of a game specific mechanic, rather than one that can be used between different project structures. I would also like to eventually allow the player to exit and enter vehicles as they like, walk around on foot, pickup and interact with objects. This would be a big step in possibility, I can then rather easily pursue battlefield-style gameplay, and more easily implement different types of vehicles, including cars and other ground based vehicles. It would be nice to release this project as a small game at some point in the future, so I may find a simple gameplay loop to implement.

As a final note, if any of you would like to see content diving deeper into the specifics of aerodynamic simulations, flight assist systems, or aircraft design, the math behind it, and tips and instructions for implementing them, let me know, I hope to upload more consistently, but I need to become better at making "good" content. I'm not sure how coherently or effectively I could make learning content, but I am willing to give it a try.

Loading comments...