Render bathymetric sonar surface

This commit is contained in:
chindit committed 2026-10-06 07:59:50 +02:00
1 parent fdebbafeae
commit b6f6b53a70
7 files changed
+305 -135

No files matched your search

@@ -388,11 +388,12 @@ mesh = SubResource("KnobMesh")
material_override = SubResource("BrassMaterial")
[node name="SonarMonitor" type="Node3D" parent="."]
position = Vector3(0.74, 0.42, -1.18)
rotation_degrees = Vector3(-5, -22, -2)
position = Vector3(0.54, 0.59, -1.04)
rotation_degrees = Vector3(-5, -42, -2)
scale = Vector3(0.6, 0.6, 0.6)
[node name="Housing" type="MeshInstance3D" parent="SonarMonitor"]
scale = Vector3(0.5, 0.34, 0.1)
scale = Vector3(0.6, 0.37, 0.1)
mesh = SubResource("UnitBoxMesh")
material_override = SubResource("PaintedMaterial")
@@ -38,7 +38,6 @@ var indicator_green: StandardMaterial3D
var indicator_amber: StandardMaterial3D
var indicator_red: StandardMaterial3D
var sonar_grid: StandardMaterial3D
var sonar_trace: StandardMaterial3D
var warm_glass: StandardMaterial3D
@@ -94,7 +93,6 @@ func _init() -> void:
indicator_amber = _emissive_material(Color(1.0, 0.43, 0.035), 2.8)
indicator_red = _emissive_material(Color(0.9, 0.045, 0.018), 2.8)
sonar_grid = _emissive_material(Color(0.02, 0.20, 0.22), 0.55)
sonar_trace = _emissive_material(Color(0.12, 0.78, 0.78), 1.8)
warm_glass = _warm_glass_material()
@@ -16,7 +16,7 @@ func _init(materials: CockpitMaterialPalette) -> void:
_materials = materials
name = "SonarConsoleDetailing"
_build_bezel()
_build_graticule()
_build_grid()
_build_control_strip()
_build_mounting_hardware()
@@ -100,7 +100,7 @@ func _build_control_strip() -> void:
_control_count += 1
func _build_graticule() -> void:
func _build_grid() -> void:
for x: float in [-0.145, -0.085, -0.025, 0.035, 0.095]:
CockpitMeshFactory.add_box(
"SonarGridVertical",
@@ -117,24 +117,6 @@ func _build_graticule() -> void:
Vector3(0.33, 0.0015, 0.002),
_materials.sonar_grid
)
var trace_points: Array[Vector3] = [
Vector3(-0.185, -0.035, 0.080),
Vector3(-0.135, -0.020, 0.080),
Vector3(-0.085, -0.055, 0.080),
Vector3(-0.030, -0.005, 0.080),
Vector3(0.025, -0.030, 0.080),
Vector3(0.075, 0.030, 0.080),
Vector3(0.125, 0.075, 0.080),
]
for point_index in trace_points.size() - 1:
CockpitMeshFactory.add_cylinder_between(
"SonarReferenceTrace",
self,
trace_points[point_index],
trace_points[point_index + 1],
0.0025,
_materials.sonar_trace
)
func _build_mounting_hardware() -> void: