wip: train dollies
This commit is contained in:
parent
7e74639207
commit
8fe40f44d4
|
|
@ -1,4 +1,35 @@
|
||||||
## A dolly tweens all contents to and from two destination points
|
## A dolly tweens all contents to and from two destination points, and to its origin.
|
||||||
class_name Dolly
|
class_name Dolly
|
||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
|
@export var start_arrived : bool = false
|
||||||
|
@export var arrival_time : float = 10.0
|
||||||
|
@export var leave_time : float = 12.0
|
||||||
|
|
||||||
|
@onready var origination : Node3D = $Origination
|
||||||
|
@onready var destination : Node3D = $Destination
|
||||||
|
|
||||||
|
|
||||||
|
var tween : Tween = null
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
if not start_arrived:
|
||||||
|
for child in get_children(true):
|
||||||
|
if not child.visible: continue
|
||||||
|
child.global_position = origination.global_position
|
||||||
|
|
||||||
|
|
||||||
|
func arrive() -> void:
|
||||||
|
if tween: tween.kill()
|
||||||
|
tween = create_tween().set_trans(Tween.TRANS_CIRC).set_ease(Tween.EASE_OUT)
|
||||||
|
for child in get_children(true):
|
||||||
|
if not child.visible: continue
|
||||||
|
tween.parallel().tween_property(child, "global_position", self.global_position, arrival_time)
|
||||||
|
|
||||||
|
|
||||||
|
func leave() -> void:
|
||||||
|
if tween: tween.kill()
|
||||||
|
tween = create_tween().set_trans(Tween.TRANS_QUART).set_ease(Tween.EASE_IN)
|
||||||
|
for child in get_children(true):
|
||||||
|
if not child.visible: continue
|
||||||
|
tween.parallel().tween_property(child, "global_position", destination.global_position, leave_time)
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,19 @@ func start_room():
|
||||||
|
|
||||||
await Main.curtain.open()
|
await Main.curtain.open()
|
||||||
|
|
||||||
|
$Track2Dolly.arrive()
|
||||||
|
$Track1Dolly.arrive()
|
||||||
|
|
||||||
await get_tree().create_timer(20).timeout
|
await get_tree().create_timer(20).timeout
|
||||||
_set_signage_texts("signage2", "Verkehr z. Zt.\nunregelmäßig")
|
_set_signage_texts("signage2", "Verkehr z. Zt.\nunregelmäßig")
|
||||||
|
|
||||||
|
$Track2Dolly.leave()
|
||||||
|
|
||||||
await get_tree().create_timer(10).timeout
|
await get_tree().create_timer(10).timeout
|
||||||
_set_signage_texts("signage1", "Bitte Ansage\nbeachten")
|
_set_signage_texts("signage1", "Bitte Ansage\nbeachten")
|
||||||
|
|
||||||
|
$Track1Dolly.leave()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -545,11 +545,11 @@ shape = SubResource("BoxShape3D_e75no")
|
||||||
|
|
||||||
[node name="Track1Dolly" parent="." instance=ExtResource("17_yfan7")]
|
[node name="Track1Dolly" parent="." instance=ExtResource("17_yfan7")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, -0.2, -32.5)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.2, -0.2, -32.5)
|
||||||
|
|
||||||
[node name="Track2Dolly" parent="." instance=ExtResource("17_yfan7")]
|
[node name="Track2Dolly" parent="." instance=ExtResource("17_yfan7")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, -0.2, -32.5)
|
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -6.2, -0.2, -32.5)
|
||||||
|
|
||||||
[node name="Stations" type="Node3D" parent="."]
|
[node name="Stations" type="Node3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|
@ -557,6 +557,16 @@ unique_name_in_owner = true
|
||||||
[node name="StationDolly" type="Node3D" parent="Stations"]
|
[node name="StationDolly" type="Node3D" parent="Stations"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
script = ExtResource("5_yfan7")
|
script = ExtResource("5_yfan7")
|
||||||
|
start_arrived = true
|
||||||
|
metadata/_custom_type_script = "uid://dgfje4druu3sw"
|
||||||
|
|
||||||
|
[node name="Origination" type="Node3D" parent="Stations/StationDolly"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 130)
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="Destination" type="Node3D" parent="Stations/StationDolly"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -130)
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="SubwayMap3D" type="Node3D" parent="Stations/StationDolly"]
|
[node name="SubwayMap3D" type="Node3D" parent="Stations/StationDolly"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.4, -22.624)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.4, -22.624)
|
||||||
|
|
|
||||||
|
|
@ -77,15 +77,18 @@ shader_parameter/vertical_emission = SubResource("GradientTexture1D_v43sq")
|
||||||
|
|
||||||
[node name="TrainDolly" type="Node3D"]
|
[node name="TrainDolly" type="Node3D"]
|
||||||
script = ExtResource("1_5jpg8")
|
script = ExtResource("1_5jpg8")
|
||||||
|
metadata/_custom_type_script = "uid://dgfje4druu3sw"
|
||||||
|
|
||||||
[node name="West" type="Node3D" parent="."]
|
[node name="Destination" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 130)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 130)
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="East" type="Node3D" parent="."]
|
[node name="Origination" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -130)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -130)
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="Train" type="Node3D" parent="."]
|
[node name="Train" type="Node3D" parent="."]
|
||||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0, 0)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||||
|
|
||||||
[node name="subway_train" parent="Train" instance=ExtResource("1_2h2xx")]
|
[node name="subway_train" parent="Train" instance=ExtResource("1_2h2xx")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7804413, 0, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7804413, 0, 0)
|
||||||
|
|
|
||||||
|
|
@ -293,10 +293,9 @@ libraries = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="VoxelGI" type="VoxelGI" parent="." index="2"]
|
[node name="VoxelGI" type="VoxelGI" parent="." index="2"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.406781, 0)
|
||||||
layers = 4
|
layers = 4
|
||||||
subdiv = 0
|
size = Vector3(35, 4.708557, 7)
|
||||||
size = Vector3(35, 3.5, 5)
|
|
||||||
data = ExtResource("5_q0ort")
|
data = ExtResource("5_q0ort")
|
||||||
|
|
||||||
[node name="SpotLight3D" type="SpotLight3D" parent="." index="3"]
|
[node name="SpotLight3D" type="SpotLight3D" parent="." index="3"]
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -627,7 +627,7 @@ transform = Transform3D(1, 0, 0, 0, 0.642787, -0.766044, 0, 0.766044, 0.642787,
|
||||||
[node name="Camera3D" type="Camera3D" parent="Yaw/Pitch/Mount"]
|
[node name="Camera3D" type="Camera3D" parent="Yaw/Pitch/Mount"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.202, 0.157)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.202, 0.157)
|
||||||
cull_mask = 3
|
cull_mask = 7
|
||||||
current = true
|
current = true
|
||||||
|
|
||||||
[node name="RayCast3D" type="RayCast3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
[node name="RayCast3D" type="RayCast3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="Frame of Mind"
|
config/name="Frame of Mind"
|
||||||
run/main_scene="uid://fgp3s28h7msy"
|
run/main_scene="uid://fgp3tbah7msy"
|
||||||
config/use_custom_user_dir=true
|
config/use_custom_user_dir=true
|
||||||
config/features=PackedStringArray("4.5", "Forward Plus")
|
config/features=PackedStringArray("4.5", "Forward Plus")
|
||||||
boot_splash/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1)
|
boot_splash/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1)
|
||||||
|
|
@ -211,6 +211,7 @@ locale/test="de"
|
||||||
|
|
||||||
[layer_names]
|
[layer_names]
|
||||||
|
|
||||||
|
3d_render/layer_3="Trains"
|
||||||
2d_physics/layer_1="World"
|
2d_physics/layer_1="World"
|
||||||
3d_physics/layer_1="Scene Geometry"
|
3d_physics/layer_1="Scene Geometry"
|
||||||
2d_physics/layer_2="Stickies"
|
2d_physics/layer_2="Stickies"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue