fix: tweaks to fahrplan and to backface culling on trains

This commit is contained in:
tiger tiger tiger 2026-01-20 23:52:16 +01:00
parent d26ace7dff
commit 3cd721e522
4 changed files with 102 additions and 56 deletions

View File

@ -37,8 +37,8 @@ func reset() -> void:
func _seat_player_if_inside() -> bool:
if %EntryDetect.overlaps_body(State.player):
prints("Player asleep inside Train", self.name)
State.player.sleeping = true
prints("Player departs inside Train", self.name)
#State.player.sleeping = true
var s1 := %Seat1
var s2 := %Seat2
@ -50,9 +50,9 @@ func _seat_player_if_inside() -> bool:
func _unseat_player_if_inside() -> void:
if %EntryDetect.overlaps_body(State.player):
prints("Player no longer asleep on Train", self.name)
prints("Player arrives on Train", self.name)
State.player.sleeping = false
#State.player.sleeping = false
State.player.reparent(get_parent())

View File

@ -9,14 +9,14 @@ class_name Fahrplan extends Node3D
$station_parity_square : [[$station_saint_exupery],[$station_rosenthal]],
$station_saint_exupery : [[$station_saint_exupery],[$station_rosenthal]],
$station_ministry : [[],[]], # Endstation
$station_rosenthal : [[],[]], # Endstation
$station_ministry : [null,null], # Endstation
$station_rosenthal : [null,null], # Endstation
}
@onready var tracks : Array[Dolly] = [%Track0Dolly, %Track1Dolly]
@export var random_wait : Vector2 = Vector2(10.0, 20.0)
@export var random_wait : Vector2 = Vector2(1.0, 5.0)
func _set_signage_texts(group: StringName, message: String) -> void:
get_tree().call_group(group, "set_text", "")
@ -40,6 +40,12 @@ var stop := false
var destinations : Array[Node3D] = [null, null]
func train_traffic_loop(track: Dolly, cancel: Array) -> void:
if fahrplan[current_station][track.index] == null: # empty array (just no routes) would be falsy
track.arrive()
_set_signage_texts(track.signage_group, "Endstation")
return
var routes : Array = fahrplan[current_station][track.index]
if routes.is_empty():
_set_signage_texts(track.signage_group, "Verkehr z. Zt.\nunregelmäßig")

View File

@ -217,14 +217,12 @@ initial_pitch = -30.0
[node name="Track0Dolly" parent="Logic" instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.2, -0.2, -32.5)
visible = false
index = 0
signage_group = "signage2"
[node name="Track1Dolly" parent="Logic" instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -6.2, -0.2, -32.5)
visible = false
index = 1
signage_group = "signage1"

View File

@ -1,18 +1,54 @@
[gd_scene load_steps=12 format=3 uid="uid://4j1tlhfm3p40"]
[gd_scene load_steps=15 format=4 uid="uid://4j1tlhfm3p40"]
[ext_resource type="PackedScene" uid="uid://dmh8tmuvftqus" path="res://base-environments/transition/import/subway_train.glb" id="1_8e51f"]
[ext_resource type="Material" uid="uid://dchm78gv31r6a" path="res://base-environments/transition/shaders/timetravel.tres" id="2_g5p57"]
[ext_resource type="Script" uid="uid://cyohujvfoiof7" path="res://base-environments/transition/code/subway_train.gd" id="2_skiem"]
[ext_resource type="Material" uid="uid://rh1lc61j6qd8" path="res://base-environments/transition/import/textures/roof_greeble.tres" id="3_q0ort"]
[ext_resource type="Texture2D" uid="uid://bewykr0twbplg" path="res://base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_realesrgan-x4plus-anime.png" id="5_6pwip"]
[ext_resource type="VoxelGIData" uid="uid://coibvxeouqllc" path="res://base-environments/transition/vfx/voxelGI_subway_train.tres" id="5_q0ort"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8e51f"]
cull_mode = 2
albedo_color = Color(0.22188288, 0.6046251, 0.8484487, 1)
metallic = 0.5
roughness = 0.5
clearcoat_enabled = true
clearcoat_roughness = 0.2
[sub_resource type="ArrayMesh" id="ArrayMesh_f2ux3"]
_surfaces = [{
"aabb": AABB(-5.128359, -0.2631049, -1.4985942, 10.841061, 0.57964456, 3.1154532),
"format": 34896613377,
"index_count": 300,
"index_data": PackedByteArray("AAABAAIAAwAAAAIAAwAEAAAABQADAAIABAAuAAAAAQAAAC4ABAAHAC4ABQACAAoACgALAAUALwACAAEALwAKAAIACgAMAAsALwAMAAoADQALAAwAMAAvAAEAMAAMAC8ADQAMADEAMAAxAAwADgANADEAMAABADIAAQAuADIAMwAxADAAMwAwADIADgAxADQAMwA0ADEADwAOADQAMgAuADUABwA1AC4ABwAIADUAMgA1ADYAMwAyADYACAAGADUANgA1AAYACAAJAAYANwAzADYANwA0ADMANgAGABIANwA2ABIAFQAGAAkAEgAGABUAFQAJABQAEgAVABMAFAATABUAEgATADcAFAARABMANwAQADQANwATABAAEAATABEADwA0ABAAEAARAA8AFgAXABgAGgAWABgAGgAbABYAHAAaABgAGwA4ABYAFwAWADgAGwAdADgAHAAYAB4AHgAfABwAGQAYABcAGQAeABgAHgAgAB8AGQAgAB4AIQAfACAAOQAZABcAOQAgABkAIQAgADoAOQA6ACAAIgAhADoAOQAXADsAFwA4ADsAPAA6ADkAPAA5ADsAIgA6AD0APAA9ADoAJQAiAD0AOwA4AD4AHQA+ADgAHQAtAD4AOwA+AD8APAA7AD8ALQAsAD4APwA+ACwALQArACwAIwA8AD8AIwA9ADwAPwAsACkAIwA/ACkAKgAsACsAKQAsACoAKgArACgAKQAqACcAKAAnACoAKQAnACMAKAAmACcAIwAkAD0AIwAnACQAJAAnACYAJQA9ACQAJAAmACUA"),
"lods": [1.6915302, PackedByteArray("AAABAAIAAwAAAAIAAwAEAAAABQADAAIABAAGAAAAAQAAAAYABAAHAAYABwAIAAYACAAJAAYABQACAAoAAQAKAAIACgALAAUACgAMAAsAAQAMAAoADQALAAwADgANAAwADwAOAAwADwAMABAAEAAMAAEAEAARAA8AEAABABIAAQAGABIAEAATABEAEgATABAAFAARABMAEgAGABUAEgAVABMAFAATABUAFQAGAAkAFQAJABQAFgAXABgAGQAYABcAGgAWABgAGgAbABYAHAAaABgAGwAdABYAHAAYAB4AGQAeABgAHgAfABwAHgAgAB8AGQAgAB4AIQAfACAAIgAhACAAIwAgABkAIwAZABcAIgAgACQAIwAkACAAJQAiACQAJAAmACUAJAAnACYAIwAnACQAKAAmACcAIwAXACkAKQAnACMAFwAWACkAKAAnACoAKQAqACcAKgArACgAKQAWACwAKQAsACoAKgAsACsAHQAsABYALQArACwAHQAtACwA")],
"name": "roof_greeble",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 64,
"vertex_data": PackedByteArray("9VQnt5DsAAACX///kOwAAAJfua3//wAAAl8AAP//AAD1VF8MkOwAAGHyAAD//wAA9VQntzIoAAD1VPAxlrEAAPVU8DEtYwAA9VRfDDIoAABh8rmt//8AAP//XwyQ7AAA//+5rZDsAAD///AxlrEAAP//8DEtYwAA//9fDDIoAAD//7mtMigAAGHyAADEFAAAAl///zIoAABh8rmtxBQAAAJfAADEFAAAAl+5rcQUAAAAAOncPOAAAOQEcPQ84AAA5ATd2cnzAACaTHD0POAAAOQEYkXf+gAAAADCUSbmAACaTGJF3/oAAAAA2Eo/pwAAmkzd2cnzAAA6U8JRJuYAADpT3dk84AAAOlPYSj+nAAA6U9hKn1MAAJpMcPSiGgAAOlPd2aIaAAA6U8JRuBQAAJpMYkUAAAAAmkzd2RUHAADkBGJFAAAAAOQEcPSiGgAA5ATd2RUHAAAAAMJRuBQAAAAA6dyiGgAAAADYSp9TAAD1VCe3lrEAAGHy//+Q7AAAYfL//5axAAD//7mtlrEAAAJf//+WsQAAYfL//y1jAAD//7mtLWMAAPVUJ7ctYwAAAl///y1jAABh8v//MigAAAAA6dzjpAAAmkxw9OOkAAA6U93Z46QAAOQEcPTjpAAAmkxw9PxVAAA6U93Z/FUAAAAA6dz8VQAA5ARw9PxVAAA=")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_7uxbi"]
resource_name = "subway_train_Cube_001"
_surfaces = [{
"aabb": AABB(-5.128359, -0.2631049, -1.4985942, 10.841061, 0.57964456, 3.1154532),
"attribute_data": PackedByteArray("jZq1+v+ftfoBm////5+YvY2aSMUBmwi7AZv8hI+azHr/n/0Ej5oyRQGbAjsBm/0E/1///42atfoBm////1+1+gGbCLv/X0jF/18Bu42aSMWPmsx6gV5/g/9ftnoBm/yEj5rMeo+aMkUB20lFAdu2egGbAjv/X0lFgV5/PI+aMkX/n7X6jZq1+o2aSMX/n5i9/1+1+o2aSMWNmrX6/1+p6v9fVNX/X0jFgV5/PAGb/QQBmwI7/1/9BP9fAbsBm/yEAZsIu4Fef4P/X1VV/19JRY+aMkX/X6pq/1+2eo+azHqNmrX6/5+1+gGb////n5i9jZpIxf+fmL0Bmwi7AZv8hHmj1H2Pmsx6j5oyRQHbSUUB27Z6eaMrQgGbAjsBm/0E/5/9BP9f//+NmrX6AZv///9ftfoBmwi7/19Ixf9fAbuNmkjFj5rMeoFef4P/X7Z6AZv8hAGbAjv/X0lFgV5/PI+aMkX/X7X6/1+p6o2atfqNmkjF/19U1f9fSMWBXn88AZv9BAGbAjv/X/0E/18BuwGb/IQBmwi7gV5/g/9fVVX/X0lFj5oyRf9fqmqPmsx6/1+2ev+fmL0Bmwi7eaMrQgGbAjt5o9R9AZv8hP+fVNWkmVTV/5+p6qSZqep5o9R9/KRUVXmjK0KkmVVV/KSqaqSZqmp5o9R9eaMrQqSZqeqkmVTV/KRUVQHbVVV5oytC/KSqagHbqmp5o9R9pJlVVaSZqmr/n5i9AZsIu3mjK0IBmwI7eaPUfQGb/IT/n1TVjZpIxaSZVNX/n6nqpJmp6v+ftfqNmrX6/KRUVY+aMkV5oytCpJlVVfykqmqkmapqeaPUfY+azHqkmanqpJlU1fykVFUB21VVeaMrQvykqmoB26pqeaPUfaSZVVWkmapq"),
"format": 34896613399,
"index_count": 300,
"index_data": PackedByteArray("AAABAAIAbQAEAG4AbwAJAHAAcQByAAcADAANAA4ADAAPAA0AcwAiACMAcwB0ACIAdQB0AHMAdQB2AHQAIAB2AHUAIAAhAHYAEAARABIAEAATABEAAwAGAHcAAwAFAAYAFAAVABYAFAAXABUAeAAZAHkAeAB6ABkAewB6AHgAewB8AHoAfQB8AHsAfQAYAHwAHAAdAB4AHAAfAB0AfgALAAgAfgAKAAsAJAB/ACYAJAAnAH8AJwCAAH8AJwAoAIAAKAAlAIAAKAApACUAKgArACwAKgAtACsAgQAaAIIAgQCDABoAhACBAIIAhACCAIUAhgCEAIUAhgCFABsALgAvADAALgAxAC8AMgA0AIcAMgAzADQANQAyAIcANQCHAIgANgA1AIgANgCIADcAOAA5ADoAiQA8AIoAiwBCAIwAjQCOAEEASQBKAEsASQBMAEoAjwCQADsAjwCRAJAAkgCRAI8AkgCTAJEAlACTAJIAlACVAJMATQBOAE8ATQBQAE4APQA/AEAAPQA+AD8AUQBSAFMAUQBUAFIAlgCXAJgAlgCZAJcAmgCZAJYAmgCbAJkAnACbAJoAnACdAJsAVQBWAFcAVQBYAFYARQBHAEgARQBGAEcAWQCeAFsAWQBaAJ4AWgCfAJ4AWgBdAJ8AXQBcAJ8AXQBeAFwAXwBgAGEAXwBiAGAAoABDAKEAoACiAEMAowCgAKEAowChAKQApQCjAKQApQCkAEQAYwBkAGUAYwBmAGQAZwBpAKYAZwBoAGkAagBnAKYAagCmAKcAbABqAKcAbACnAGsA"),
"lods": [1.6915302, PackedByteArray("AAABAAIAAwAEAAUAAwAFAAYAAwAGAAcACAAJAAoACAAKAAsADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGAAaABsAHAAdAB4AHAAfAB0AIAAhACIAIAAiACMAJAAlACYAJAAnACUAJwAoACUAKAApACUAKgArACwAKgAtACsALgAvADAALgAxAC8AMgAzADQANQAyADQANgA1ADQANgA0ADcAOAA5ADoAOQA4ADsAOwA4ADwAPQA8AD4APQA+AD8APQA/AEAAQAA/AEEAQABBAEIAQABDAEQAQABFAEMAQABCAEUARQBCAEYARQBGAEcARQBHAEgASQBKAEsASQBMAEoATQBOAE8ATQBQAE4AUQBSAFMAUQBUAFIAVQBWAFcAVQBYAFYAWQBaAFsAWgBcAFsAWgBdAFwAXQBeAFwAXwBgAGEAXwBiAGAAYwBkAGUAYwBmAGQAZwBoAGkAagBnAGkAagBpAGsAbABqAGsA")],
"material": ExtResource("3_q0ort"),
"name": "roof_greeble",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 168,
"vertex_data": PackedByteArray("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")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_f2ux3")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q0ort"]
transparency = 1
blend_mode = 1
@ -146,146 +182,152 @@ layers = 4
[node name="Cube_005" parent="traun_hull" index="9"]
layers = 4
[node name="Cube_006" parent="traun_hull" index="10"]
[node name="Cube_007" type="MeshInstance3D" parent="traun_hull" index="10"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.140757, 3.1445234, -1.4974344e-06)
layers = 4
mesh = SubResource("ArrayMesh_7uxbi")
skeleton = NodePath("")
[node name="Cube_006" parent="traun_hull" index="11"]
layers = 4
[node name="Cube_008" parent="traun_hull" index="11"]
[node name="Cube_008" parent="traun_hull" index="12"]
layers = 4
[node name="Cube_010" parent="traun_hull" index="12"]
[node name="Cube_010" parent="traun_hull" index="13"]
layers = 4
[node name="Cube_012" parent="traun_hull" index="13"]
[node name="Cube_012" parent="traun_hull" index="14"]
layers = 4
[node name="Cube_014" parent="traun_hull" index="14"]
[node name="Cube_014" parent="traun_hull" index="15"]
layers = 4
[node name="door_seat2_low_MAT_SEATS_0_001" parent="traun_hull" index="15"]
[node name="door_seat2_low_MAT_SEATS_0_001" parent="traun_hull" index="16"]
layers = 4
[node name="door_seat2_low_MAT_SEATS_0_002" parent="traun_hull" index="16"]
[node name="door_seat2_low_MAT_SEATS_0_002" parent="traun_hull" index="17"]
layers = 4
[node name="door_seating_001" parent="traun_hull" index="17"]
[node name="door_seating_001" parent="traun_hull" index="18"]
layers = 4
[node name="door_seating_002" parent="traun_hull" index="18"]
[node name="door_seating_002" parent="traun_hull" index="19"]
layers = 4
[node name="door_seating_003" parent="traun_hull" index="19"]
[node name="door_seating_003" parent="traun_hull" index="20"]
layers = 4
[node name="door_seating_004" parent="traun_hull" index="20"]
[node name="door_seating_004" parent="traun_hull" index="21"]
layers = 4
[node name="door_seating_005" parent="traun_hull" index="21"]
[node name="door_seating_005" parent="traun_hull" index="22"]
layers = 4
[node name="Icosphere_003" parent="traun_hull" index="22"]
[node name="Icosphere_003" parent="traun_hull" index="23"]
layers = 4
[node name="Icosphere_016" parent="traun_hull" index="23"]
[node name="Icosphere_016" parent="traun_hull" index="24"]
layers = 4
[node name="Icosphere_017" parent="traun_hull" index="24"]
[node name="Icosphere_017" parent="traun_hull" index="25"]
layers = 4
[node name="Icosphere_018" parent="traun_hull" index="25"]
[node name="Icosphere_018" parent="traun_hull" index="26"]
layers = 4
[node name="Icosphere_019" parent="traun_hull" index="26"]
[node name="Icosphere_019" parent="traun_hull" index="27"]
layers = 4
[node name="Icosphere_020" parent="traun_hull" index="27"]
[node name="Icosphere_020" parent="traun_hull" index="28"]
layers = 4
[node name="interiour_walls" parent="traun_hull" index="28"]
[node name="interiour_walls" parent="traun_hull" index="29"]
layers = 4
[node name="interiour_walls_001" parent="traun_hull" index="29"]
[node name="interiour_walls_001" parent="traun_hull" index="30"]
layers = 4
[node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="30"]
[node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="31"]
layers = 4
[node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_002" parent="traun_hull" index="31"]
[node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_002" parent="traun_hull" index="32"]
layers = 4
[node name="middle_seating" parent="traun_hull" index="32"]
[node name="middle_seating" parent="traun_hull" index="33"]
layers = 4
[node name="middle_seating_001" parent="traun_hull" index="33"]
[node name="middle_seating_001" parent="traun_hull" index="34"]
layers = 4
[node name="middle_seating_002" parent="traun_hull" index="34"]
[node name="middle_seating_002" parent="traun_hull" index="35"]
layers = 4
[node name="middle_seating_003" parent="traun_hull" index="35"]
[node name="middle_seating_003" parent="traun_hull" index="36"]
layers = 4
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="36"]
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="37"]
layers = 4
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_002" parent="traun_hull" index="37"]
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_002" parent="traun_hull" index="38"]
layers = 4
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_003" parent="traun_hull" index="38"]
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_003" parent="traun_hull" index="39"]
layers = 4
[node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_002" parent="traun_hull" index="39"]
[node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_002" parent="traun_hull" index="40"]
layers = 4
[node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_003" parent="traun_hull" index="40"]
[node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_003" parent="traun_hull" index="41"]
layers = 4
[node name="SueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="41"]
[node name="SueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="42"]
layers = 4
[node name="train_display" parent="traun_hull" index="42"]
[node name="train_display" parent="traun_hull" index="43"]
layers = 4
[node name="undercarriage" parent="traun_hull" index="43"]
[node name="undercarriage" parent="traun_hull" index="44"]
layers = 4
[node name="VentanaLateral2_LP_004_LateralTren_0_003" parent="traun_hull" index="44"]
[node name="VentanaLateral2_LP_004_LateralTren_0_003" parent="traun_hull" index="45"]
layers = 4
surface_material_override/0 = ExtResource("2_g5p57")
surface_material_override/1 = SubResource("StandardMaterial3D_q0ort")
[node name="VentanaLateral2_LP_004_LateralTren_0_004" parent="traun_hull" index="45"]
[node name="VentanaLateral2_LP_004_LateralTren_0_004" parent="traun_hull" index="46"]
layers = 4
surface_material_override/0 = ExtResource("2_g5p57")
surface_material_override/1 = SubResource("StandardMaterial3D_q0ort")
[node name="wall_seating_001" parent="traun_hull" index="46"]
[node name="wall_seating_001" parent="traun_hull" index="47"]
layers = 4
[node name="wall_seating_002" parent="traun_hull" index="47"]
[node name="wall_seating_002" parent="traun_hull" index="48"]
layers = 4
[node name="wall_seating_003" parent="traun_hull" index="48"]
[node name="wall_seating_003" parent="traun_hull" index="49"]
layers = 4
[node name="wall_seating_004" parent="traun_hull" index="49"]
[node name="wall_seating_004" parent="traun_hull" index="50"]
layers = 4
[node name="wall_seating_005" parent="traun_hull" index="50"]
[node name="wall_seating_005" parent="traun_hull" index="51"]
layers = 4
[node name="wall_seating_006" parent="traun_hull" index="51"]
[node name="wall_seating_006" parent="traun_hull" index="52"]
layers = 4
[node name="wall_seating_007" parent="traun_hull" index="52"]
[node name="wall_seating_007" parent="traun_hull" index="53"]
layers = 4
[node name="wall_seating_008" parent="traun_hull" index="53"]
[node name="wall_seating_008" parent="traun_hull" index="54"]
layers = 4
[node name="window_frames" parent="traun_hull" index="54"]
[node name="window_frames" parent="traun_hull" index="55"]
layers = 4
[node name="window_frames_001" parent="traun_hull" index="55"]
[node name="window_frames_001" parent="traun_hull" index="56"]
layers = 4
[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1"]