[gd_scene load_steps=31 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"] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_pressure_bulkhead.gd" id="3_bulkhead"] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_analog_gauges.gd" id="4_gauges"] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_sonar_console.gd" id="5_sonar_console"] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_alert_box.gd" id="6_alert_box"] [ext_resource type="Script" path="res://game/presentation/cockpit/cockpit_switch_panel.gd" id="7_switch_panel"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/gauge_panel.glb" id="8_gauge_panel_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/sonar.glb" id="9_sonar_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/switch_panel.glb" id="10_switch_panel_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/alert_box.glb" id="11_alert_box_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/speaker.glb" id="12_speaker_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/hull_wall.glb" id="13_hull_wall_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/porthole.glb" id="14_porthole_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/gas_bottle.glb" id="15_gas_bottle_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/handrail_l.glb" id="16_handrail_l_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/handrail_r.glb" id="17_handrail_r_model"] [ext_resource type="PackedScene" path="res://game/presentation/cockpit/assets/models/side_console.glb" id="18_side_console_model"] [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="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="QuadMesh" id="ScreenQuadMesh"] size = Vector2(1, 1) [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.25, 0.47, 0.53) scale = Vector3(0.16, 2.62, 1.1) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="RightWall" type="MeshInstance3D" parent="CabinShell"] position = Vector3(1.25, 0.47, 0.53) scale = Vector3(0.16, 2.62, 1.1) mesh = SubResource("UnitBoxMesh") material_override = SubResource("PaintedMaterial") [node name="Ceiling" type="MeshInstance3D" parent="CabinShell"] position = Vector3(0, 1.72, 0.53) scale = Vector3(2.66, 0.16, 1.1) 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.47, 1.08) scale = Vector3(2.66, 2.62, 0.16) mesh = SubResource("UnitBoxMesh") material_override = SubResource("SteelMaterial") [node name="PortholeAssembly" type="Node3D" parent="."] position = Vector3(0, 0.47, -1.32) [node name="CurvedPressureBulkhead" type="Node3D" parent="PortholeAssembly"] unique_name_in_owner = true script = ExtResource("3_bulkhead") [node name="HullWall" parent="PortholeAssembly/CurvedPressureBulkhead" instance=ExtResource("13_hull_wall_model")] [node name="Porthole" parent="PortholeAssembly/CurvedPressureBulkhead" instance=ExtResource("14_porthole_model")] [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="ResourcesFrame" type="MeshInstance3D" parent="Dashboard"] position = Vector3(-0.49, -0.115, 0.14) scale = Vector3(0.34, 0.065, 0.025) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="ResourcesScreen" type="MeshInstance3D" parent="Dashboard"] position = Vector3(-0.49, -0.115, 0.155) scale = Vector3(0.305, 0.044, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="ResourcesLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(-0.49, -0.115, 0.163) pixel_size = 0.00055 font_size = 10 outline_size = 2 text = "BAT — kWh · O₂ — %\n— kW · — L/min" modulate = Color(0.76, 0.74, 0.6, 1) [node name="NavigationFrame" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0, -0.115, 0.14) scale = Vector3(0.30, 0.065, 0.025) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="NavigationScreen" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0, -0.115, 0.155) scale = Vector3(0.265, 0.044, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="NavigationLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(0, -0.115, 0.163) pixel_size = 0.00055 font_size = 10 outline_size = 2 text = "PROF. — / — m\nVIT. — m/s" modulate = Color(0.76, 0.74, 0.6, 1) [node name="IntegrityFrame" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0.49, -0.115, 0.14) scale = Vector3(0.34, 0.065, 0.025) mesh = SubResource("UnitBoxMesh") material_override = SubResource("BrassMaterial") [node name="IntegrityScreen" type="MeshInstance3D" parent="Dashboard"] position = Vector3(0.49, -0.115, 0.155) scale = Vector3(0.305, 0.044, 1) mesh = SubResource("ScreenQuadMesh") material_override = SubResource("ScreenMaterial") [node name="IntegrityLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(0.49, -0.115, 0.163) pixel_size = 0.00055 font_size = 10 outline_size = 2 text = "COQUE — % · — bar\nLIMITE — bar" modulate = Color(0.76, 0.74, 0.6, 1) [node name="ReturnLabel" type="Label3D" parent="Dashboard"] unique_name_in_owner = true position = Vector3(0.22, 0.266, 0.158) pixel_size = 0.00062 font_size = 12 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.36, 0.266, 0.158) pixel_size = 0.00062 font_size = 12 outline_size = 2 text = "SYSTÈMES · NORMAL" modulate = Color(0.45, 0.89, 0.9, 1) [node name="AnalogGauges" type="Node3D" parent="Dashboard"] position = Vector3(0, -0.06, 0.15) script = ExtResource("4_gauges") [node name="GaugePanelModel" parent="Dashboard/AnalogGauges" instance=ExtResource("8_gauge_panel_model")] [node name="SonarMonitor" type="Node3D" parent="."] position = Vector3(0.54, 0.48, -1.04) rotation_degrees = Vector3(-5, -42, -2) script = ExtResource("5_sonar_console") [node name="SonarModel" parent="SonarMonitor" instance=ExtResource("9_sonar_model")] scale = Vector3(0.31, 0.31, 0.31) [node name="SonarPlaceholder" type="Label3D" parent="SonarMonitor"] unique_name_in_owner = true position = Vector3(-0.0164, 0.002, 0.026) pixel_size = 0.00054 font_size = 16 outline_size = 2 text = "SONAR MODULE EN ATTENTE" modulate = Color(0.34, 0.6, 0.6, 1) [node name="AlertBox" type="Node3D" parent="."] position = Vector3(-0.86, 0.555, -1.214) rotation_degrees = Vector3(0, 15, 0) script = ExtResource("6_alert_box") [node name="AlertBoxModel" parent="AlertBox" instance=ExtResource("11_alert_box_model")] scale = Vector3(0.5, 0.5, 0.5) [node name="SwitchPanel" type="Node3D" parent="."] position = Vector3(-0.74, -0.125, -0.97) rotation_degrees = Vector3(0, 30, 0) script = ExtResource("7_switch_panel") [node name="SwitchPanelModel" parent="SwitchPanel" instance=ExtResource("10_switch_panel_model")] scale = Vector3(0.37, 0.37, 0.37) [node name="Speaker" parent="." instance=ExtResource("12_speaker_model")] position = Vector3(0.83, 0.84, -1.22) rotation_degrees = Vector3(0, -15, 0) scale = Vector3(0.56, 0.56, 0.56) [node name="GasBottle" parent="." instance=ExtResource("15_gas_bottle_model")] position = Vector3(-1.02, 0.36, -1.225) rotation_degrees = Vector3(0, 53.3, 0) scale = Vector3(0.65, 0.65, 0.65) [node name="HandrailLeft" parent="." instance=ExtResource("16_handrail_l_model")] position = Vector3(-0.6, 0.24, -1.1) [node name="HandrailRight" parent="." instance=ExtResource("17_handrail_r_model")] position = Vector3(0.6, 0.24, -1.1) [node name="SideConsoleLeft" parent="." instance=ExtResource("18_side_console_model")] position = Vector3(-0.632, -0.61, -1.215) [node name="SideConsoleRight" parent="." instance=ExtResource("18_side_console_model")] position = Vector3(0.632, -0.61, -1.215) scale = Vector3(-1, 1, 1) [node name="EmergencyDial" type="MeshInstance3D" parent="."] position = Vector3(-0.845, 0.47, -1.283) scale = Vector3(0.3, 0.3, 0.3) rotation_degrees = Vector3(90, 0, 0) mesh = SubResource("DialMesh") material_override = SubResource("RedMaterial") [node name="EmergencyLabel" type="Label3D" parent="."] position = Vector3(-0.845, 0.418, -1.28) pixel_size = 0.0015 font_size = 12 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(1, 0.7, 0.46, 1) light_energy = 0.04 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(1, 0.72, 0.5, 1) light_energy = 0.4 shadow_enabled = false omni_range = 0.8