[gd_scene load_steps=20 format=3] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_instrument_panel.gd" id="1_instruments"] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_detailing.gd" id="2_detailing"] [sub_resource type="StandardMaterial3D" id="SteelMaterial"] albedo_color = Color(0.055, 0.07, 0.07, 1) metallic = 0.76 roughness = 0.46 [sub_resource type="StandardMaterial3D" id="PaintedMaterial"] albedo_color = Color(0.045, 0.12, 0.125, 1) metallic = 0.48 roughness = 0.61 [sub_resource type="StandardMaterial3D" id="BrassMaterial"] albedo_color = Color(0.27, 0.17, 0.045, 1) metallic = 0.74 roughness = 0.43 [sub_resource type="StandardMaterial3D" id="RubberMaterial"] albedo_color = Color(0.018, 0.024, 0.025, 1) roughness = 0.88 [sub_resource type="StandardMaterial3D" id="GlassMaterial"] transparency = 1 albedo_color = Color(0.08, 0.29, 0.32, 0.12) metallic = 0.05 roughness = 0.16 cull_mode = 2 [sub_resource type="StandardMaterial3D" id="ScreenMaterial"] albedo_color = Color(0.006, 0.025, 0.028, 1) metallic = 0.15 roughness = 0.22 emission_enabled = true emission = Color(0.008, 0.07, 0.075, 1) emission_energy_multiplier = 1.7 [sub_resource type="StandardMaterial3D" id="CyanMaterial"] shading_mode = 0 albedo_color = Color(0.2, 0.78, 0.82, 1) emission_enabled = true emission = Color(0.12, 0.72, 0.76, 1) emission_energy_multiplier = 3.2 [sub_resource type="StandardMaterial3D" id="AmberMaterial"] shading_mode = 0 albedo_color = Color(0.95, 0.52, 0.08, 1) emission_enabled = true emission = Color(0.95, 0.33, 0.02, 1) emission_energy_multiplier = 2.6 [sub_resource type="StandardMaterial3D" id="RedMaterial"] shading_mode = 0 albedo_color = Color(0.82, 0.08, 0.045, 1) emission_enabled = true emission = Color(0.92, 0.055, 0.025, 1) emission_energy_multiplier = 2.8 [sub_resource type="BoxMesh" id="UnitBoxMesh"] size = Vector3(1, 1, 1) [sub_resource type="TorusMesh" id="PortholeTorusMesh"] inner_radius = 0.56 outer_radius = 0.71 rings = 48 ring_segments = 16 [sub_resource type="CylinderMesh" id="GlassCylinderMesh"] top_radius = 0.56 bottom_radius = 0.56 height = 0.012 radial_segments = 64 [sub_resource type="CylinderMesh" id="BoltMesh"] top_radius = 0.026 bottom_radius = 0.026 height = 0.045 radial_segments = 12 [sub_resource type="QuadMesh" id="ScreenQuadMesh"] size = Vector2(1, 1) [sub_resource type="CylinderMesh" id="LeverMesh"] top_radius = 0.018 bottom_radius = 0.023 height = 0.24 radial_segments = 12 [sub_resource type="SphereMesh" id="KnobMesh"] radius = 0.046 height = 0.092 radial_segments = 16 rings = 8 [sub_resource type="CylinderMesh" id="DialMesh"] top_radius = 0.105 bottom_radius = 0.105 height = 0.035 radial_segments = 32 [node name="CockpitInterior" type="Node3D"] script = ExtResource("1_instruments") [node name="CockpitDetailing" type="Node3D" parent="."] unique_name_in_owner = true script = ExtResource("2_detailing") [node name="CabinShell" type="Node3D" parent="."] [node name="LeftWall" type="MeshInstance3D" parent="CabinShell"] position = Vector3(-1.03, 0.24, -0.15) scale = Vector3(0.16, 1.82, 2.7) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="RightWall" type="MeshInstance3D" parent="CabinShell"] position = Vector3(1.03, 0.24, -0.15) scale = Vector3(0.16, 1.82, 2.7) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="Ceiling" type="MeshInstance3D" parent="CabinShell"] position = Vector3(0, 1.22, -0.2) scale = Vector3(2.15, 0.16, 2.6) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="Floor" type="MeshInstance3D" parent="CabinShell"] position = Vector3(0, -0.7, -0.1) scale = Vector3(2.05, 0.18, 2.5) mesh = SubResource("UnitBoxMesh") material_override = SubResource("RubberMaterial") [node name="RearBulkhead" type="MeshInstance3D" parent="CabinShell"] position = Vector3(0, 0.22, 1.08) scale = Vector3(2.08, 1.75, 0.16) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="LeftRib" type="MeshInstance3D" parent="CabinShell"] position = Vector3(-0.88, 0.26, -0.45) scale = Vector3(0.11, 1.75, 0.18) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="RightRib" type="MeshInstance3D" parent="CabinShell"] position = Vector3(0.88, 0.26, -0.45) scale = Vector3(0.11, 1.75, 0.18) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="CeilingRib" type="MeshInstance3D" parent="CabinShell"] position = Vector3(0, 1.05, -0.45) scale = Vector3(1.82, 0.1, 0.18) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="PortholeAssembly" type="Node3D" parent="."] position = Vector3(0, 0.47, -1.32) [node name="LeftBulkhead" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(-0.94, 0, 0) scale = Vector3(0.6, 1.82, 0.2) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="RightBulkhead" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0.94, 0, 0) scale = Vector3(0.6, 1.82, 0.2) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="TopBulkhead" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0, 0.91, 0) scale = Vector3(1.55, 0.52, 0.2) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="BottomBulkhead" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0, -0.91, 0) scale = Vector3(1.55, 0.52, 0.2) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="WindowFrame" type="MeshInstance3D" parent="PortholeAssembly"] unique_name_in_owner = true rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("PortholeTorusMesh") material_override = SubResource("BrassMaterial") [node name="RubberSeal" type="MeshInstance3D" parent="PortholeAssembly"] scale = Vector3(0.91, 0.91, 0.91) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("PortholeTorusMesh") material_override = SubResource("RubberMaterial") [node name="WindowGlass" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0, 0, -0.01) rotation_degrees = Vector3(90, 0, 0) cast_shadow = 0 mesh = SubResource("GlassCylinderMesh") material_override = SubResource("GlassMaterial") [node name="BoltTop" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0, 0.665, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltBottom" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0, -0.665, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltLeft" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(-0.665, 0, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltRight" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0.665, 0, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltUpperLeft" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(-0.47, 0.47, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltUpperRight" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0.47, 0.47, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltLowerLeft" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(-0.47, -0.47, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="BoltLowerRight" type="MeshInstance3D" parent="PortholeAssembly"] position = Vector3(0.47, -0.47, 0.1) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("BoltMesh") material_override = SubResource("SteelMaterial") [node name="Dashboard" type="Node3D" parent="."] unique_name_in_owner = true position = Vector3(0, 0.05, -1.22) rotation_degrees = Vector3(-12, 0, 0) [node name="MainPanel" type="MeshInstance3D" parent="Dashboard"] scale = Vector3(1.56, 0.44, 0.14) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="ResourcesFrame" type="MeshInstance3D" parent="Dashboard"] position = Vector3(-0.5, 0.03, 0.088) scale = Vector3(0.45, 0.31, 0.025) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="ResourcesScreen" type="MeshInstance3D" parent="Dashboard"] position = Vector3(-0.5, 0.03, 0.102) scale = Vector3(0.41, 0.27, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="ResourcesLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(-0.5, 0.03, 0.108) pixel_size = 0.00115 font_size = 20 outline_size = 2 text = "BATTERIE\n— / — kWh\n— kW\n\nOXYGÈNE\n— / — L\n— L/min" modulate = Color(0.45, 0.89, 0.9, 1) [node name="NavigationFrame" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0, 0.03, 0.088) scale = Vector3(0.4, 0.31, 0.025) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="NavigationScreen" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0, 0.03, 0.102) scale = Vector3(0.36, 0.27, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="NavigationLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(0, 0.03, 0.108) pixel_size = 0.00115 font_size = 20 outline_size = 2 text = "PROFONDEUR\n— m\nMAX. — m\n\nVITESSE\n— m/s" modulate = Color(0.45, 0.89, 0.9, 1) [node name="IntegrityFrame" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0.5, 0.03, 0.088) scale = Vector3(0.45, 0.31, 0.025) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="IntegrityScreen" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0.5, 0.03, 0.102) scale = Vector3(0.41, 0.27, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="IntegrityLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(0.5, 0.03, 0.108) pixel_size = 0.00115 font_size = 20 outline_size = 2 text = "COQUE\n— / —\n\nPRESSION\n— / — bar" modulate = Color(0.45, 0.89, 0.9, 1) [node name="ReturnLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(0.32, 0.205, 0.108) pixel_size = 0.00082 font_size = 15 outline_size = 2 text = "RETOUR · INCONNU" modulate = Color(1, 0.75, 0.2, 1) [node name="StatusLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(-0.34, 0.205, 0.108) pixel_size = 0.00082 font_size = 15 outline_size = 2 text = "SYSTÈMES · NORMAL" modulate = Color(0.45, 0.89, 0.9, 1) [node name="LeftConsole" type="MeshInstance3D" parent="."] position = Vector3(-0.82, -0.23, -1.19) rotation_degrees = Vector3(-8, 18, 4) scale = Vector3(0.32, 0.16, 0.56) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="RightConsole" type="MeshInstance3D" parent="."] position = Vector3(0.82, -0.23, -1.19) rotation_degrees = Vector3(-8, -18, -4) scale = Vector3(0.32, 0.16, 0.56) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="ThrottleLever" type="MeshInstance3D" parent="."] position = Vector3(-0.79, -0.06, -1.13) rotation_degrees = Vector3(18, 0, -10) scale = Vector3(0.72, 0.72, 0.72) mesh = SubResource("LeverMesh") material_override = SubResource("SteelMaterial") [node name="ThrottleKnob" type="MeshInstance3D" parent="."] position = Vector3(-0.81, 0.025, -1.1) scale = Vector3(0.72, 0.72, 0.72) mesh = SubResource("KnobMesh") material_override = SubResource("BrassMaterial") [node name="VerticalLever" type="MeshInstance3D" parent="."] position = Vector3(0.79, -0.06, -1.13) rotation_degrees = Vector3(18, 0, 10) scale = Vector3(0.72, 0.72, 0.72) mesh = SubResource("LeverMesh") material_override = SubResource("SteelMaterial") [node name="VerticalKnob" type="MeshInstance3D" parent="."] position = Vector3(0.81, 0.025, -1.1) scale = Vector3(0.72, 0.72, 0.72) mesh = SubResource("KnobMesh") material_override = SubResource("BrassMaterial") [node name="SonarMonitor" type="Node3D" parent="."] position = Vector3(0.72, 0.4, -1.24) rotation_degrees = Vector3(-5, -22, -2) [node name="Housing" type="MeshInstance3D" parent="SonarMonitor"] scale = Vector3(0.32, 0.24, 0.08) mesh = SubResource("UnitBoxMesh") material_override = SubResource("RubberMaterial") [node name="SonarScreen" type="MeshInstance3D" parent="SonarMonitor"] unique_name_in_owner = true position = Vector3(0, 0.025, 0.06) scale = Vector3(0.265, 0.165, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="SonarPlaceholder" type="Label3D" parent="SonarMonitor"] unique_name_in_owner = true position = Vector3(0, 0.025, 0.068) pixel_size = 0.0009 font_size = 16 outline_size = 2 text = "SONAR\nMODULE EN ATTENTE" modulate = Color(0.34, 0.6, 0.6, 1) [node name="EmergencyDial" type="MeshInstance3D" parent="."] position = Vector3(-0.6, 0.39, -1.15) scale = Vector3(0.38, 0.38, 0.38) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("DialMesh") material_override = SubResource("RedMaterial") [node name="EmergencyLabel" type="Label3D" parent="."] position = Vector3(-0.6, 0.3, -1.125) pixel_size = 0.0009 font_size = 15 outline_size = 2 text = "ÉJECTION · X" modulate = Color(1, 0.48, 0.38, 1) [node name="CyanIndicator" type="MeshInstance3D" parent="."] position = Vector3(-0.15, 0.305, -1.11) scale = Vector3(0.25, 0.25, 0.25) mesh = SubResource("KnobMesh") material_override = SubResource("CyanMaterial") [node name="AmberIndicator" type="MeshInstance3D" parent="."] position = Vector3(0, 0.305, -1.11) scale = Vector3(0.25, 0.25, 0.25) mesh = SubResource("KnobMesh") material_override = SubResource("AmberMaterial") [node name="RedIndicator" type="MeshInstance3D" parent="."] position = Vector3(0.15, 0.305, -1.11) scale = Vector3(0.25, 0.25, 0.25) mesh = SubResource("KnobMesh") material_override = SubResource("RedMaterial") [node name="CabinLight" type="OmniLight3D" parent="."] unique_name_in_owner = true position = Vector3(0, 0.92, -0.28) light_color = Color(0.36, 0.68, 0.69, 1) light_energy = 1.25 shadow_enabled = true omni_range = 3.3 [node name="PanelLight" type="OmniLight3D" parent="."] unique_name_in_owner = true position = Vector3(0, 0.18, -0.63) light_color = Color(0.23, 0.72, 0.76, 1) light_energy = 0.58 shadow_enabled = false omni_range = 1.35