feat: working on subway labeling and coloring system

This commit is contained in:
tiger tiger tiger 2026-01-24 13:18:36 +01:00
parent 6e9bd9b790
commit 2e473e4b4e
15 changed files with 160 additions and 135 deletions

View File

@ -2,20 +2,19 @@ class_name Fahrplan extends Node3D
## easy graph: <station> : [Track1Train1 (next halt), Track1Train2], [Track2Train1(next halt), ...]
## CAVEAT: These must be direct children of the fahrplan!
@onready var fahrplan : Dictionary[Node3D, Array] = {
$station_hirschfeld: [[$station_university_mensa, $station_parity_square],[]],
$station_hirschfeld : [[$station_university_mensa, $station_parity_square],[]],
$station_university_mensa : [[$station_university_main],[]],
$station_university_main: [[$station_ministry],[$station_rosenthal, $station_university_mensa]],
$station_parity_square : [[$station_saint_exupery],[$station_rosenthal]],
$station_saint_exupery : [[$station_saint_exupery],[$station_rosenthal]],
@onready var fahrplan : Dictionary[Station, Array] = {
$hirschfeld: [["u2", $uni_mensa, "u1", $parity_square],[]],
$uni_mensa : [["u2", $uni_main],[]],
$uni_main: [["u2", $ministry],["u8", $rosenthal, "u2", $uni_mensa, "u1", $saint_exupery]],
$parity_square : [["u4", $saint_exupery, "u1", $saint_exupery], []],
$saint_exupery : [["u4", $rosenthal], ["u1", $uni_main]],
$station_ministry : [null,null], # Endstation
$station_rosenthal : [null,null], # Endstation
$ministry : ["", null, "", null], # Endstation
$rosenthal : ["", null, "", null], # Endstation
}
## List of all registered station nodes, used to unparent them
@onready var stations : Array[Node3D] = fahrplan.keys()
@onready var stations : Array[Station] = fahrplan.keys()
@onready var tracks : Array[Dolly] = [%Track0Dolly, %Track1Dolly]
@export var empty_train_random_delay : Vector2 = Vector2(5.0, 20.0)
@ -27,24 +26,24 @@ func _set_signage_texts(group: StringName, message: String) -> void:
await get_tree().create_timer(0.05).timeout
func _ready() -> void:
var x : Node3D = $station_hirschfeld
var x : Station = $hirschfeld
print(x.name)
await get_tree().process_frame
tracks[0].train_left.connect(_player_train_left)
tracks[1].train_left.connect(_player_train_left)
_unparent_all_stations_except($station_hirschfeld)
_unparent_all_stations_except($hirschfeld)
enter_station(current_station)
var current_station : Node3D = null
var current_station : Station = null
var stop := false
var destinations : Array[Node3D] = [null, null]
var destinations : Array[Station] = [null, null]
## Begins the scheduled traffic (looping through the list of destinations) on a given track
func _begin_traffic_loop(track: Dolly, cancel: Array) -> void:
if fahrplan[current_station][track.index] == null: # empty array (just no routes) would be falsy
if not track.player_on_board and fahrplan[current_station][track.index] == null: # empty trains dont arrive at endstation
track.arrive(true)
_set_signage_texts(track.signage_group, "Endstation")
return

View File

@ -1,18 +1,5 @@
class_name Station extends Resource
extends Node3D
class_name Station
enum id {
HIRSCHFELD,
PARITY,
EXUPERY,
ROSENTHAL,
UNI_1,
UNI_2,
MINISTRY
}
@export var station_name: StringName = ""
@export var memory: Scenes.id = Scenes.id.YOUTH_DRAVEN
@export_file("*.tscn") var station_path: String = ""
@export var arriving_lines: Dictionary[TrainLine.id, float]
@export var departing_lines: Dictionary[TrainLine.id, float]
@export var announcement: AudioStream
@export var i18n_key : StringName
@export var train_labels : Dictionary[StringName,String] = {}

View File

@ -1 +1 @@
uid://cyeh7sa20bmcf
uid://pmhadgsfinjc

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
extends Node3D
extends Station
func _ready() -> void:
%PlayerDetect.body_entered.connect(func(body):

View File

@ -1,4 +1,4 @@
extends Node3D
extends Station
func _ready() -> void:
%PlayerDetect.body_entered.connect(func(body):

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=45 format=4 uid="uid://fgp3tbah7msy"]
[gd_scene load_steps=46 format=4 uid="uid://fgp3tbah7msy"]
[ext_resource type="Script" uid="uid://snugj1gnggjj" path="res://base-environments/transition/code/subway_sequence.gd" id="1_yfan7"]
[ext_resource type="PackedScene" uid="uid://mkccbig41bqb" path="res://logic-scenes/player_controller/player_controller.tscn" id="2_il5go"]
@ -8,6 +8,7 @@
[ext_resource type="AudioStream" uid="uid://ba7s5uqc4iu66" path="res://base-environments/transition/audio/537769__janbezouska__factory-fluorescent-light-buzz.wav" id="7_rkl48"]
[ext_resource type="PackedScene" uid="uid://bk1l1a7eae838" path="res://base-environments/transition/misc/subway_map.tscn" id="8_rcbu2"]
[ext_resource type="PackedScene" uid="uid://dmvn3x67nduqp" path="res://base-environments/transition/stations/uni_station.tscn" id="9_bdj4u"]
[ext_resource type="Script" uid="uid://pmhadgsfinjc" path="res://base-environments/transition/code/station.gd" id="10_iq74k"]
[ext_resource type="VoxelGIData" uid="uid://dram781e770bj" path="res://base-environments/transition/vfx/uni_voxelGI.tres" id="10_j1yes"]
[ext_resource type="PackedScene" uid="uid://inavuxjmq6hi" path="res://base-environments/transition/stations/burnout_station.tscn" id="11_vomua"]
[ext_resource type="Script" uid="uid://c3wiasfotoy5" path="res://base-environments/transition/stations/therapy_station.gd" id="12_il5go"]
@ -20,7 +21,7 @@
[ext_resource type="PackedScene" uid="uid://df3ur5wll8vx7" path="res://base-environments/transition/subway_track.tscn" id="17_yfan7"]
[sub_resource type="ViewportTexture" id="ViewportTexture_rkl48"]
viewport_path = NodePath("Logic/Fahrplan/station_hirschfeld/SubwayMap3D/MapViewport")
viewport_path = NodePath("Logic/Fahrplan/hirschfeld/SubwayMap3D/MapViewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_il5go"]
resource_local_to_scene = true
@ -215,7 +216,6 @@ unique_name_in_owner = true
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.0218763, 6.1035156e-05, -5.6086483)
continuous_cd = true
initial_pitch = -30.0
[node name="Track0Dolly" parent="Logic" instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
@ -233,53 +233,60 @@ signage_group = "signage1"
script = ExtResource("4_yfan7")
metadata/_custom_type_script = "uid://bi4cwmajhpa5f"
[node name="station_hirschfeld" parent="Logic/Fahrplan" instance=ExtResource("5_rum2v")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.021, 0, -0.018)
[node name="hirschfeld" parent="Logic/Fahrplan" instance=ExtResource("5_rum2v")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.015596004, 0.007891655, -0.018885009)
script = ExtResource("10_iq74k")
i18n_key = &"Hirschfeld-Str."
train_labels = Dictionary[StringName, String]({
&"u1lise_meitner": "U1 Ring ↺",
&"u1parity_square": "U1 Ring ↻",
&"u2station_university_mens": "U2 Ambitz"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_hirschfeld"]
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/hirschfeld"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(20, 3.75, 84)
data = ExtResource("6_ii0j1")
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/station_hirschfeld"]
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/hirschfeld"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.021, 1.4, -22.606)
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D"]
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D"]
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, -1.46175, 0, 1.46175, 0, 1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D"]
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.15, 0)
mesh = SubResource("BoxMesh_rkl48")
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D"]
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D"]
transform = Transform3D(1.46175, 0, 0, 0, 1.46175, 0, 0, 0, 1.46175, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_sofnd")
use_collision = true
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D/CSGCombiner3D"]
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
mesh = SubResource("BoxMesh_8c5ii")
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D/CSGCombiner3D"]
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
operation = 2
mesh = SubResource("BoxMesh_symoa")
[node name="MapViewport" type="SubViewport" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D"]
[node name="MapViewport" type="SubViewport" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D"]
disable_3d = true
size = Vector2i(2896, 2048)
render_target_update_mode = 4
[node name="SubwayMap" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D/MapViewport" instance=ExtResource("8_rcbu2")]
[node name="SubwayMap" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D/MapViewport" instance=ExtResource("8_rcbu2")]
unique_name_in_owner = true
[node name="SubwayMapAudio" type="AudioStreamPlayer3D" parent="Logic/Fahrplan/station_hirschfeld/SubwayMap3D"]
[node name="SubwayMapAudio" type="AudioStreamPlayer3D" parent="Logic/Fahrplan/hirschfeld/SubwayMap3D"]
stream = ExtResource("7_rkl48")
unit_size = 2.0
max_db = -5.0
@ -287,162 +294,202 @@ autoplay = true
panning_strength = 0.5
bus = &"sfx"
[node name="station_university_main" parent="Logic/Fahrplan" instance=ExtResource("9_bdj4u")]
[node name="uni_mensa" parent="Logic/Fahrplan" instance=ExtResource("9_bdj4u")]
visible = false
script = ExtResource("10_iq74k")
i18n_key = &"Uni (Alte Mensa)"
train_labels = Dictionary[StringName, String]({
&"u2hirschfeld": "U2 Turingplatz",
&"u2uni_main": "U2 Ambitz"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_university_main"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(11, 3.7785034, 84)
data = ExtResource("10_j1yes")
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/station_university_main"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.021, 1.4, -22.606)
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/station_university_main/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/station_university_main/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, -1.46175, 0, 1.46175, 0, 1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/station_university_main/SubwayMap3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.15, 0)
mesh = SubResource("BoxMesh_rkl48")
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/station_university_main/SubwayMap3D"]
transform = Transform3D(1.46175, 0, 0, 0, 1.46175, 0, 0, 0, 1.46175, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_sofnd")
use_collision = true
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/station_university_main/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
mesh = SubResource("BoxMesh_8c5ii")
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/station_university_main/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
operation = 2
mesh = SubResource("BoxMesh_symoa")
[node name="station_university_mensa" parent="Logic/Fahrplan" instance=ExtResource("9_bdj4u")]
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_university_mensa"]
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/uni_mensa"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(11, 3.7785034, 84)
data = SubResource("VoxelGIData_il5go")
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/station_university_mensa"]
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/uni_mensa"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.021, 1.4, -22.606)
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/station_university_mensa/SubwayMap3D"]
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/uni_mensa/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/station_university_mensa/SubwayMap3D"]
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/uni_mensa/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, -1.46175, 0, 1.46175, 0, 1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/station_university_mensa/SubwayMap3D"]
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/uni_mensa/SubwayMap3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.15, 0)
mesh = SubResource("BoxMesh_rkl48")
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/station_university_mensa/SubwayMap3D"]
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/uni_mensa/SubwayMap3D"]
transform = Transform3D(1.46175, 0, 0, 0, 1.46175, 0, 0, 0, 1.46175, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_sofnd")
use_collision = true
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/station_university_mensa/SubwayMap3D/CSGCombiner3D"]
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/uni_mensa/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
mesh = SubResource("BoxMesh_8c5ii")
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/station_university_mensa/SubwayMap3D/CSGCombiner3D"]
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/uni_mensa/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
operation = 2
mesh = SubResource("BoxMesh_symoa")
[node name="station_saint_exupery" parent="Logic/Fahrplan" instance=ExtResource("11_vomua")]
[node name="uni_main" parent="Logic/Fahrplan" instance=ExtResource("9_bdj4u")]
visible = false
script = ExtResource("10_iq74k")
i18n_key = &"Universität"
train_labels = Dictionary[StringName, String]({
&"u1saint_exupery": "U1 Ring ↺",
&"u1saint_jude": "U1 Ring ↻",
&"u2ministry": "U2 Ambitz",
&"u2uni_mensa": "U2 Turingplatz",
&"u8rosenthal": "U8 Gesundquell",
&"u8saint_jude": "U8 Südstadt"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/uni_main"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(11, 3.7785034, 84)
data = ExtResource("10_j1yes")
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/uni_main"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.021, 1.4, -22.606)
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/uni_main/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/uni_main/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, -1.46175, 0, 1.46175, 0, 1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/uni_main/SubwayMap3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.15, 0)
mesh = SubResource("BoxMesh_rkl48")
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/uni_main/SubwayMap3D"]
transform = Transform3D(1.46175, 0, 0, 0, 1.46175, 0, 0, 0, 1.46175, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_sofnd")
use_collision = true
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/uni_main/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
mesh = SubResource("BoxMesh_8c5ii")
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/uni_main/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
operation = 2
mesh = SubResource("BoxMesh_symoa")
[node name="saint_exupery" parent="Logic/Fahrplan" instance=ExtResource("11_vomua")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 0, 0)
visible = false
script = ExtResource("12_il5go")
i18n_key = &"Saint-Exupéry-Allee"
train_labels = Dictionary[StringName, String]({
&"u1parity_suqare": "U1 Ring ↺",
&"u1uni_main": "U1 Ring ↻",
&"u4rosenthal": "U4 Gesundquell"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_saint_exupery"]
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/saint_exupery"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(11, 3.7785034, 84)
data = SubResource("VoxelGIData_iq74k")
[node name="station_ministry" parent="Logic/Fahrplan" instance=ExtResource("11_vomua")]
[node name="ministry" parent="Logic/Fahrplan" instance=ExtResource("11_vomua")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 0, 0)
visible = false
script = ExtResource("12_il5go")
i18n_key = &"Bildungsministerium"
train_labels = Dictionary[StringName, String]({
&"u2ambitz": "U2 Ambitz",
&"u2uni_main": "U2 Turingplatz"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_ministry"]
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/ministry"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(11, 3.7785034, 84)
data = ExtResource("12_jwt33")
[node name="station_rosenthal" parent="Logic/Fahrplan" instance=ExtResource("11_vomua")]
[node name="rosenthal" parent="Logic/Fahrplan" instance=ExtResource("11_vomua")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 0, 0)
visible = false
script = ExtResource("12_il5go")
i18n_key = &"Rosenthal Klinik"
train_labels = Dictionary[StringName, String]({
&"u4gertrud_koch": "U4 Gesundquell",
&"u4saint_exupery": "U4 Nordstadt",
&"u8gertrud_koch": "U8 Gesundquell",
&"u8uni_main": "U8 Südstadt"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_rosenthal"]
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/rosenthal"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
subdiv = 2
size = Vector3(11, 3.7785034, 84)
data = SubResource("VoxelGIData_yfan7")
[node name="station_parity_square" parent="Logic/Fahrplan" instance=ExtResource("13_265nv")]
[node name="parity_square" parent="Logic/Fahrplan" instance=ExtResource("13_265nv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.3, 0, 0, 0)
visible = false
script = ExtResource("10_iq74k")
i18n_key = &"Parity Square"
train_labels = Dictionary[StringName, String]({
&"u1hirschfeld": "U1 Ring ↺",
&"u1saint_exupery": "U1 Ring ↻",
&"u4saint_exupery": "U4 Gesundquell"
})
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/station_parity_square"]
[node name="VoxelGI" type="VoxelGI" parent="Logic/Fahrplan/parity_square"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.7692308, 0.020572662, 1.5449562, -27.640734)
subdiv = 2
size = Vector3(11, 3.7785034, 104.75287)
data = ExtResource("14_w5sv3")
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/station_parity_square"]
[node name="SubwayMap3D" type="Node3D" parent="Logic/Fahrplan/parity_square"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.021, 1.4, -22.606)
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D"]
[node name="MapPanel1" type="MeshInstance3D" parent="Logic/Fahrplan/parity_square/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D"]
[node name="MapPanel2" type="MeshInstance3D" parent="Logic/Fahrplan/parity_square/SubwayMap3D"]
transform = Transform3D(-6.389512e-08, 0, -1.46175, 0, 1.46175, 0, 1.46175, 0, -6.389512e-08, 0, 0, 0)
mesh = SubResource("QuadMesh_rkl48")
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D"]
[node name="Stand" type="MeshInstance3D" parent="Logic/Fahrplan/parity_square/SubwayMap3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.15, 0)
mesh = SubResource("BoxMesh_rkl48")
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D"]
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="Logic/Fahrplan/parity_square/SubwayMap3D"]
transform = Transform3D(1.46175, 0, 0, 0, 1.46175, 0, 0, 0, 1.46175, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_sofnd")
use_collision = true
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D/CSGCombiner3D"]
[node name="CSGMesh3D" type="CSGMesh3D" parent="Logic/Fahrplan/parity_square/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
mesh = SubResource("BoxMesh_8c5ii")
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D/CSGCombiner3D"]
[node name="CSGMesh3D2" type="CSGMesh3D" parent="Logic/Fahrplan/parity_square/SubwayMap3D/CSGCombiner3D"]
transform = Transform3D(1, 0, -7.1054274e-15, 0, 1, 0, 7.1054274e-15, 0, 1, 0, 0, 0)
operation = 2
mesh = SubResource("BoxMesh_symoa")
[node name="MapViewport" type="SubViewport" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D"]
[node name="MapViewport" type="SubViewport" parent="Logic/Fahrplan/parity_square/SubwayMap3D"]
disable_3d = true
size = Vector2i(2896, 2048)
render_target_update_mode = 4
[node name="SubwayMap" parent="Logic/Fahrplan/station_parity_square/SubwayMap3D/MapViewport" instance=ExtResource("8_rcbu2")]
[node name="SubwayMap" parent="Logic/Fahrplan/parity_square/SubwayMap3D/MapViewport" instance=ExtResource("8_rcbu2")]
[node name="Collision" type="StaticBody3D" parent="Logic"]
@ -574,3 +621,5 @@ layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[editable path="Logic/PlayerController"]

View File

@ -3,18 +3,11 @@
[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://ddw7mob1qmlbj" path="res://base-environments/transition/shaders/u0.material" id="3_81crm"]
[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),
@ -150,7 +143,7 @@ script = ExtResource("2_skiem")
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
layers = 4
gi_mode = 2
surface_material_override/0 = SubResource("StandardMaterial3D_8e51f")
surface_material_override/0 = ExtResource("3_81crm")
[node name="ApoyaCristalesLateralesPared3_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="0"]
layers = 4

File diff suppressed because one or more lines are too long