| .helix | ||
| modules | ||
| project | ||
| src | ||
| .clangd | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .godot-version | ||
| LICENSE.txt | ||
| README.md | ||
| SConstruct | ||
| update_addons.py | ||
| update_mavlink.py | ||
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.
Usage
The application will attempt to start in VR, but if it fails it will display the default pilot viewpoint looking forward.
Parameters
These can be modified over MAVLink, for example using MARSH Manager.
Example changes to NAV_OFS_ parameters to start in given positions:
- Sidestep, vertical repositioning: all default
- Accelerate/decelerate:
HDG= -90 - Hover maneuver:
X= 50,Y= 50 - Start of slalom:
HDG= -90,X= -100,Y= 300
NAV_OFS_HDG
Displayed heading relative to default position, in degrees.
NAV_OFS_X
Starting position offset, forward in default orientation, in meters.
NAV_OFS_X
Starting position offset, right in default orientation, in meters.
LOCAL_FRAME_LAT
Latitude of local coordinate frame origin when using messages with global position, in degrees.
LOCAL_FRAME_LON
Longitude of local coordinate frame origin when using messages with global position, in degrees.
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