grunk/src/world/mechanics/relay/gunk_relay.tscn
Rob Kelly af575477cf
All checks were successful
linting & formatting / build (push) Successful in 23s
Using DebugDraw3D for in-editor relay network visualization
2025-07-12 14:09:41 -06:00

163 lines
4.9 KiB
Plaintext

[gd_scene load_steps=12 format=3 uid="uid://bttust5ohud8e"]
[ext_resource type="Script" uid="uid://1oup50bp0pwd" path="res://src/world/mechanics/relay/gunk_relay.gd" id="1_rdv5j"]
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_ipm58"]
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="3_mb114"]
[ext_resource type="Script" uid="uid://ccs67guidw4w4" path="res://src/ui/quaker.gd" id="5_peqs8"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gk1l0"]
resource_local_to_scene = true
albedo_color = Color(0, 0.0313726, 0.101961, 1)
emission_enabled = true
emission = Color(1, 0, 0, 1)
emission_energy_multiplier = 0.0
[sub_resource type="SphereMesh" id="SphereMesh_hsruj"]
resource_local_to_scene = true
material = SubResource("StandardMaterial3D_gk1l0")
radius = 0.1
height = 0.2
[sub_resource type="SphereShape3D" id="SphereShape3D_gk1l0"]
radius = 0.1
[sub_resource type="Animation" id="Animation_ipm58"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission_energy_multiplier")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_nfkbq"]
resource_name = "pulse"
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission_energy_multiplier")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 2.0, 0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.25098, 0.878431, 1, 1)]
}
[sub_resource type="Animation" id="Animation_rdv5j"]
resource_name = "trigger"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission_energy_multiplier")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 2.0, 0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 0, 0, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ipm58"]
_data = {
&"RESET": SubResource("Animation_ipm58"),
&"pulse": SubResource("Animation_nfkbq"),
&"trigger": SubResource("Animation_rdv5j")
}
[node name="GunkRelay" type="StaticBody3D" groups=["Persistent"]]
collision_layer = 36
collision_mask = 0
script = ExtResource("1_rdv5j")
value = 800.0
splatter_scale = 0.2
[node name="Rumbler3D" type="Node3D" parent="."]
unique_name_in_owner = true
script = ExtResource("3_mb114")
metadata/_custom_type_script = "uid://b274q7uvn0cvp"
[node name="Quaker" type="Node3D" parent="Rumbler3D"]
unique_name_in_owner = true
script = ExtResource("5_peqs8")
metadata/_custom_type_script = "uid://ccs67guidw4w4"
[node name="MeshInstance3D" type="MeshInstance3D" parent="Rumbler3D/Quaker"]
gi_mode = 2
mesh = SubResource("SphereMesh_hsruj")
skeleton = NodePath("../../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_gk1l0")
[node name="TriggerDelay" type="Timer" parent="."]
unique_name_in_owner = true
wait_time = 0.2
one_shot = true
[node name="PulseDelay" type="Timer" parent="."]
unique_name_in_owner = true
wait_time = 0.4
one_shot = true
[node name="FrameSkipper" type="Node" parent="."]
script = ExtResource("2_ipm58")
frame_skip = 3
metadata/_custom_type_script = "uid://bukihqt1lybnx"
[node name="AnimationPlayer" type="AnimationPlayer" parent="FrameSkipper"]
unique_name_in_owner = true
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_ipm58")
}
speed_scale = 4.0
[connection signal="timeout" from="TriggerDelay" to="." method="_on_trigger_delay_timeout"]
[connection signal="timeout" from="PulseDelay" to="." method="_on_pulse_delay_timeout"]