3.5 KiB
Visualisation for MARSH
This is a visualisation module for Modular Architecture for Reconfigurable Simulation of Helicopters. The project is configured to display cockpit instruments with lidia Python package.
Named in this order so not everything starts with the same word.
Development
The asset files like textures and models are very big, so the project also uses Git Large File Storage.
Once installed, it should work correctly with usual git commands but you may need to run this if you install it after cloning the repository:
git lfs pull
This repository uses Git Submodules, to get all the code you need to run either:
git clone --recurse-submodules <address of this repository>
# Or at any later point
git submodule update --init --recursive
Using Godot v4.4.
Install SCons with pipx install scons.
You will need a C++ compiler, you might have one already on Linux, see below for Windows, otherwise in Godot documentation.
For updating MAVLink generator, you additionally pip install future.
It is recommended to install any packages in a virtual environment, for example:
python3 -m venv venv
source venv/bin/activate
pip install future
Some files are generated, run the following commands on first setup and when dependencies change:
godot --dump-extension-api # after updating Godot
python update_mavlink.py # after updating MAVLink dialect
python update_addons.py # after changing any addon submodules
scons compile_commands # after modifying SConstruct
cd project/addons/gdcef; python build.py
Windows setup
The most convenient way of getting a C++ compiler is via the LLVM-MinGW project (by the way, it optimizes the binary more).
Download the llvm-mingw-...-msvcrt-x86_64.zip from the Releases page.
Unzip the archive to some location you like, and add its bin folder to Path using the "Edit environment variables for your account" program.
Build
To build the GDExtension binary run SCons in the repository root, the default arguments have been added to the file.
scons
When building for Windows with MinGW-LLVM, you need to select this compiler:
scons platform=windows use_mingw=yes use_llvm=yes
Roadmap
- Try to have some acceptable setup for Varjo even without the tracker
- Rework the fly area
- Make it bigger
- Keep it square to avoid assymetric geometry
- Don't use the flat plane, just flatten the terrain
- Make the terrain mostly green, but add some small patches of different color
- Fix z-figthing when looking at the runway from afar
- Reduce pixel artifacts
- Adjust antialiasing
- Ensure there are mipmaps and they're used
- Increase sense of urgency/stress when tracking the visual height cue
- Change the perspective to make the ball leave the strip for smaller error
- Time to complete the task
- Configurable length
- Some way to verify completion
- Some way to reset it
- Sound cue for desired and required timing
- Visual timing like progress bar
- Also change color
- On the vertical cue or instrument panel?