terrain made square, larger and ref hovering moved
diff --git a/project/ads33-terrain/Cones_scene_terrain.tscn b/project/ads33-terrain/Cones_scene_terrain.tscn
index 5e021a8..495b351 100644
--- a/project/ads33-terrain/Cones_scene_terrain.tscn
+++ b/project/ads33-terrain/Cones_scene_terrain.tscn
@@ -1,5 +1,6 @@
-[gd_scene load_steps=201 format=3 uid="uid://bchcr54i3piaw"]
+[gd_scene load_steps=205 format=3 uid="uid://bchcr54i3piaw"]
+[ext_resource type="Texture2D" uid="uid://41mr2bbcbjpo" path="res://ads33-terrain/concrete_moss_diff_4k.jpg" id="1_ong3a"]
[ext_resource type="PackedScene" uid="uid://7tddcx4u26w4" path="res://assets/cone/cone.tscn" id="2_hj5f7"]
[ext_resource type="Texture2D" uid="uid://pgqkydgc7rm4" path="res://ads33-terrain/oak_veneer_01_diff_4k.jpg" id="3_37lsk"]
[ext_resource type="Texture2D" uid="uid://cvxiq2l0ultl6" path="res://ads33-terrain/wood_planks_grey_diff_4k.jpg" id="4_poywc"]
@@ -14,6 +15,7 @@
[ext_resource type="Texture2D" uid="uid://c5qyy8c0uau0a" path="res://ads33-terrain/Cones_scene_terrain_slot0_normal_roughness.png" id="12_x847j"]
[ext_resource type="Texture2D" uid="uid://i00ufp2i21wl" path="res://ads33-terrain/Cones_scene_terrain_slot1_normal_roughness.png" id="13_befda"]
[ext_resource type="Texture2D" uid="uid://byh5p5nehessp" path="res://ads33-terrain/Cones_scene_terrain_slot2_normal_roughness.png" id="14_3s8vf"]
+[ext_resource type="Script" uid="uid://bkd7vli4qkc5d" path="res://ads33-terrain/panneau_1.gd" id="14_okeb4"]
[ext_resource type="Texture2D" uid="uid://cuf4phertnpjl" path="res://ads33-terrain/Cones_scene_terrain_slot3_normal_roughness.png" id="16_x847j"]
[sub_resource type="VisualShader" id="VisualShader_x847j"]
@@ -31,6 +33,13 @@ script = ExtResource("7_futte")
mode = 0
textures = [[ExtResource("9_r18km"), ExtResource("10_bf0io"), ExtResource("11_r6ich"), ExtResource("12_r6ich")], [ExtResource("12_x847j"), ExtResource("13_befda"), ExtResource("14_3s8vf"), ExtResource("16_x847j")]]
+[sub_resource type="PlaneMesh" id="PlaneMesh_pfic1"]
+size = Vector2(3000, 3000)
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_omy3l"]
+albedo_texture = ExtResource("1_ong3a")
+uv1_scale = Vector3(100, 50, 50)
+
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_io3gc"]
albedo_color = Color(0, 0, 0, 1)
emission_enabled = true
@@ -676,7 +685,7 @@ orientation = 1
[node name="HTerrain" type="Node3D" parent="."]
script = ExtResource("6_1xj3b")
-map_scale = Vector3(4, 1, 2)
+map_scale = Vector3(6, 1, 6)
centered = true
_terrain_data = ExtResource("7_1ux7j")
chunk_size = 32
@@ -700,6 +709,11 @@ shader_params/u_specular = 0.5
metadata/_custom_type_script = ExtResource("6_1xj3b")
metadata/MaterialOverride = false
+[node name="Flat_herbe" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.01, 0)
+mesh = SubResource("PlaneMesh_pfic1")
+surface_material_override/0 = SubResource("StandardMaterial3D_omy3l")
+
[node name="Table" type="Node3D" parent="."]
transform = Transform3D(0.305, 0, 0, 0, 0.305, 0, 0, 0, 0.305, 0, 0, 15)
@@ -707,7 +721,7 @@ transform = Transform3D(0.305, 0, 0, 0, 0.305, 0, 0, 0, 0.305, 0, 0, 15)
transform = Transform3D(3.281, 0, 0, 0, 3.281, 0, 0, 0, 3.281, 0, 25, 0)
[node name="boule" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.678, 0)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.678, -1)
material_override = SubResource("StandardMaterial3D_io3gc")
mesh = SubResource("SphereMesh_x847j")
skeleton = NodePath("")
@@ -719,57 +733,53 @@ mesh = SubResource("CylinderMesh_x847j")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_6b770")
-[node name="panneau1" type="MeshInstance3D" parent="Table/TargetHeightFeet/boule"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
+[node name="panneau1" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.678, 2)
mesh = SubResource("BoxMesh_aqqlo")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_araq8")
+script = ExtResource("14_okeb4")
-[node name="Support" type="MeshInstance3D" parent="Table/TargetHeightFeet/boule/panneau1"]
+[node name="Support" type="MeshInstance3D" parent="Table/TargetHeightFeet/panneau1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.15, -1.25077, 0)
mesh = SubResource("BoxMesh_oo0l3")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_yo10o")
-[node name="Support2" type="MeshInstance3D" parent="Table/TargetHeightFeet/boule/panneau1"]
+[node name="Support2" type="MeshInstance3D" parent="Table/TargetHeightFeet/panneau1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.15, -1.25141, 0)
mesh = SubResource("BoxMesh_oo0l3")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_7icp3")
-[node name="centrage" type="MeshInstance3D" parent="Table/TargetHeightFeet/boule/panneau1"]
+[node name="centrage" type="MeshInstance3D" parent="Table/TargetHeightFeet/panneau1"]
mesh = SubResource("BoxMesh_u22o6")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_ohwyq")
-[node name="Top" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.15, 0)
+[node name="Top" type="MeshInstance3D" parent="Table"]
+transform = Transform3D(3.281, 0, 0, 0, 3.281, 0, 0, 0, 3.281, 0, 24.5079, 0)
mesh = SubResource("BoxMesh_rnkd2")
-skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_jm3fw")
-[node name="Column" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.15, -7.62, 2.15)
+[node name="Column" type="MeshInstance3D" parent="Table"]
+transform = Transform3D(3.281, 0, 0, 0, 3.281, 0, 0, 0, 3.281, 7.05415, -0.00121945, 7.05415)
mesh = SubResource("CylinderMesh_ri5lb")
-skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_ugwq3")
-[node name="Column2" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.15, -7.62, 2.15)
+[node name="Column2" type="MeshInstance3D" parent="Table"]
+transform = Transform3D(3.281, 0, 0, 0, 3.281, 0, 0, 0, 3.281, -7.05415, -0.00121945, 7.05415)
mesh = SubResource("CylinderMesh_ri5lb")
-skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_ugwq3")
-[node name="Column3" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.15, -7.62, -2.15)
+[node name="Column3" type="MeshInstance3D" parent="Table"]
+transform = Transform3D(3.281, 0, 0, 0, 3.281, 0, 0, 0, 3.281, 7.05415, -0.00121945, -7.05415)
mesh = SubResource("CylinderMesh_ri5lb")
-skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_ugwq3")
-[node name="Column4" type="MeshInstance3D" parent="Table/TargetHeightFeet"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.15, -7.62, -2.15)
+[node name="Column4" type="MeshInstance3D" parent="Table"]
+transform = Transform3D(3.281, 0, 0, 0, 3.281, 0, 0, 0, 3.281, -7.05415, -0.00121945, -7.05415)
mesh = SubResource("CylinderMesh_ri5lb")
-skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_ugwq3")
[node name="Cercle" type="Node3D" parent="."]
|
||
|---|---|---|
| .helix | ||
| modules | ||
| project | ||
| src | ||
| .clangd | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .godot-version | ||
| README.md | ||
| SConstruct | ||
| update_addons.py | ||
| update_mavlink.py | ||
Visualisation for MARSH
Named in this order so not everything starts with the same word
Development
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 beta3 (expect it to change often until 4.4 is released)
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
- When having a short tracker interruption, maintain it in the same position until it times out to minimize the viewport jumps
- 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