generated from krampus/template-godot4
Added listener node
All checks were successful
linting & formatting / build (push) Successful in 27s
All checks were successful
linting & formatting / build (push) Successful in 27s
This commit is contained in:
parent
eb57362199
commit
e1c521f23a
@ -141,7 +141,7 @@ transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225,
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_bg05n")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="."]
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = SubResource("PlaneMesh_mn2wa")
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=24 format=3 uid="uid://b5jubpjj3d277"]
|
||||
[gd_scene load_steps=28 format=3 uid="uid://b5jubpjj3d277"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="1_3u410"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="2_tfbib"]
|
||||
@ -11,6 +11,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bttust5ohud8e" path="res://src/world/mechanics/relay/gunk_relay.tscn" id="9_d4a3d"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="10_l8xa5"]
|
||||
[ext_resource type="PackedScene" uid="uid://d0j20q65wnqsr" path="res://src/world/mechanics/heart/gunk_heart.tscn" id="11_tfbib"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="12_e8utx"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cgmn0"]
|
||||
resource_local_to_scene = true
|
||||
@ -164,6 +165,60 @@ shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_r07l4"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1.5, 0, -1.5, 3, 1e-05, 3),
|
||||
"format": 34896613377,
|
||||
"index_count": 6,
|
||||
"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 2, 0, 1, 0, 3, 0),
|
||||
"name": "Plane",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 4,
|
||||
"vertex_data": PackedByteArray(255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_67o2j"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1.5, 0, -1.5, 3, 1e-05, 3),
|
||||
"attribute_data": PackedByteArray(255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0),
|
||||
"format": 34896613399,
|
||||
"index_count": 6,
|
||||
"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 2, 0, 1, 0, 3, 0),
|
||||
"material": SubResource("StandardMaterial3D_3u410"),
|
||||
"name": "Plane",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 4,
|
||||
"vertex_data": PackedByteArray(255, 255, 0, 0, 255, 255, 255, 191, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 255, 191, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127)
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_r07l4")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_e8utx"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_tfbib")
|
||||
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/pixellation = 128.0
|
||||
shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/uv_scale = Vector2(4, 4)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = SubResource("CompressedTexture2D_f342o")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_iyuyb")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_qjnj2")
|
||||
shader_parameter/jitter_magnitude = 0.0
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[node name="SignalTest" type="Node3D"]
|
||||
|
||||
[node name="TriggerNetWall" type="MeshInstance3D" parent="."]
|
||||
@ -239,6 +294,52 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, -1.96701e-08, -0.45)
|
||||
[node name="GunkAlarm" parent="PulseNetWall/Puzzle" instance=ExtResource("10_l8xa5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.37114e-08, -1)
|
||||
|
||||
[node name="ListenerWall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 7, 1.5, 0)
|
||||
mesh = SubResource("ArrayMesh_67o2j")
|
||||
|
||||
[node name="GunkBody" parent="ListenerWall" instance=ExtResource("1_3u410")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = SubResource("ShaderMaterial_e8utx")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ListenerWall/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_x2vho")
|
||||
|
||||
[node name="Puzzle" type="Node3D" parent="ListenerWall"]
|
||||
|
||||
[node name="Listener" parent="ListenerWall/Puzzle" instance=ExtResource("12_e8utx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.37114e-08, 1)
|
||||
|
||||
[node name="GunkRelay" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.35, 2.18557e-08, 0.5)
|
||||
|
||||
[node name="GunkRelay2" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 4.37115e-09, 0.1)
|
||||
|
||||
[node name="GunkRelay3" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, -1.96701e-08, -0.45)
|
||||
|
||||
[node name="GunkRelay4" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.65, -4.15258e-08, -0.95)
|
||||
|
||||
[node name="GunkRelay5" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0999994, -5.02681e-08, -1.15)
|
||||
|
||||
[node name="GunkRelay6" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.400001, -3.71547e-08, -0.85)
|
||||
|
||||
[node name="GunkRelay7" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, -1.5299e-08, -0.35)
|
||||
|
||||
[node name="GunkRelay8" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.2, -2.18557e-09, -0.0500002)
|
||||
|
||||
[node name="GunkRelay9" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, -6.55671e-09, -0.15)
|
||||
|
||||
[node name="GunkRelay10" parent="ListenerWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, -2.18557e-08, -0.5)
|
||||
|
||||
[connection signal="destroyed" from="TriggerNetWall/Puzzle/GunkTrigger" to="TriggerNetWall/Puzzle/GunkRelay" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay" to="TriggerNetWall/Puzzle/GunkRelay2" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay5" to="TriggerNetWall/Puzzle/GunkRelay2" method="trigger"]
|
||||
@ -255,3 +356,22 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.37114e-08, -1)
|
||||
[connection signal="pulsed" from="PulseNetWall/Puzzle/GunkRelay4" to="PulseNetWall/Puzzle/GunkRelay6" method="pulse"]
|
||||
[connection signal="pulsed" from="PulseNetWall/Puzzle/GunkRelay5" to="PulseNetWall/Puzzle/GunkAlarm" method="pulse"]
|
||||
[connection signal="pulsed" from="PulseNetWall/Puzzle/GunkRelay6" to="PulseNetWall/Puzzle/GunkAlarm" method="pulse"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/Listener" to="ListenerWall/Puzzle/GunkRelay" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay" to="ListenerWall/Puzzle/GunkRelay2" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay" to="ListenerWall/Puzzle/GunkRelay2" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay2" to="ListenerWall/Puzzle/GunkRelay3" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay2" to="ListenerWall/Puzzle/GunkRelay3" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay3" to="ListenerWall/Puzzle/GunkRelay4" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay3" to="ListenerWall/Puzzle/GunkRelay4" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay4" to="ListenerWall/Puzzle/GunkRelay5" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay4" to="ListenerWall/Puzzle/GunkRelay5" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay5" to="ListenerWall/Puzzle/GunkRelay6" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay5" to="ListenerWall/Puzzle/GunkRelay6" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay6" to="ListenerWall/Puzzle/GunkRelay7" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay6" to="ListenerWall/Puzzle/GunkRelay7" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay7" to="ListenerWall/Puzzle/GunkRelay8" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay7" to="ListenerWall/Puzzle/GunkRelay8" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay8" to="ListenerWall/Puzzle/GunkRelay9" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay8" to="ListenerWall/Puzzle/GunkRelay9" method="trigger"]
|
||||
[connection signal="pulsed" from="ListenerWall/Puzzle/GunkRelay9" to="ListenerWall/Puzzle/GunkRelay10" method="trigger"]
|
||||
[connection signal="triggered" from="ListenerWall/Puzzle/GunkRelay9" to="ListenerWall/Puzzle/GunkRelay10" method="trigger"]
|
||||
|
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://xlt78xc1tmkl"]
|
||||
[gd_scene load_steps=22 format=3 uid="uid://xlt78xc1tmkl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cgwgmxwjgwbwr" path="res://assets/particles/splatter_2.png" id="1_5xu2x"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhoai6xv53tqm" path="res://assets/particles/splatter_1.png" id="2_bt63p"]
|
||||
[ext_resource type="AudioStream" uid="uid://di0j2xhgfc78s" path="res://assets/sfx/grunk/splat1.wav" id="3_t00bd"]
|
||||
[ext_resource type="AudioStream" uid="uid://d1w5gfmjj7tjk" path="res://assets/sfx/grunk/splat2.wav" id="4_2iem1"]
|
||||
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="5_2iem1"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_5xu2x"]
|
||||
offsets = PackedFloat32Array(0, 0.291304, 0.526087, 1)
|
||||
@ -99,6 +100,9 @@ streams_count = 2
|
||||
stream_0/stream = ExtResource("3_t00bd")
|
||||
stream_1/stream = ExtResource("4_2iem1")
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_6adkd"]
|
||||
radius = 2.0
|
||||
|
||||
[node name="GrunkSplatter" type="GPUParticles3D"]
|
||||
sorting_offset = 9.0
|
||||
emitting = false
|
||||
@ -133,7 +137,17 @@ unit_size = 6.0
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="SplatterSoundEmitter" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 16
|
||||
script = ExtResource("5_2iem1")
|
||||
metadata/_custom_type_script = "uid://c5o1d2shq2qig"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SplatterSoundEmitter"]
|
||||
shape = SubResource("SphereShape3D_6adkd")
|
||||
|
||||
[connection signal="ready" from="." to="SplatterSFX" method="play"]
|
||||
[connection signal="ready" from="." to="SplatterSoundEmitter" method="emit_sound_here"]
|
||||
[connection signal="ready" from="." to="." method="set_emitting" binds= [true]]
|
||||
[connection signal="ready" from="." to="SubSplatter" method="set_emitting" binds= [true]]
|
||||
[connection signal="timeout" from="FreeTimer" to="." method="queue_free"]
|
||||
|
@ -1,5 +1,5 @@
|
||||
@tool
|
||||
class_name GameSoundListener extends Area3D
|
||||
class_name GameSoundListener extends StaticBody3D
|
||||
## Receives alerts from intersecting GameSoundEmitters
|
||||
|
||||
signal sound_detected(source: Vector3)
|
||||
|
36
src/world/mechanics/listener/listener.gd
Normal file
36
src/world/mechanics/listener/listener.gd
Normal file
@ -0,0 +1,36 @@
|
||||
@tool
|
||||
extends GunkNode
|
||||
## Fires a trigger signal when a sound is made nearby
|
||||
|
||||
signal triggered
|
||||
|
||||
@export var quick_connect_to: SignalNode:
|
||||
set = _editor_connect
|
||||
|
||||
@export var splatter_scene: PackedScene
|
||||
|
||||
# NOTE
|
||||
# trigger oscillation animation was generated using the formula
|
||||
# f(x) = e^(-0.25x) * cos(x * pi / 2 - pi/2) + 1 for x in {0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 20}
|
||||
@onready var trigger_animation_player: AnimationPlayer = %TriggerAnimationPlayer
|
||||
@onready var cooldown_timer: Timer = %CooldownTimer
|
||||
|
||||
|
||||
func trigger() -> void:
|
||||
if not cooldown_timer.is_stopped():
|
||||
return
|
||||
|
||||
# TODO play sfx
|
||||
|
||||
trigger_animation_player.play("trigger")
|
||||
triggered.emit()
|
||||
cooldown_timer.start()
|
||||
|
||||
|
||||
func _destroy() -> void:
|
||||
add_sibling(splatter_scene.instantiate())
|
||||
|
||||
|
||||
func _editor_connect(node: SignalNode) -> void:
|
||||
triggered.connect(node.trigger, CONNECT_PERSIST)
|
||||
self.notify_property_list_changed()
|
1
src/world/mechanics/listener/listener.gd.uid
Normal file
1
src/world/mechanics/listener/listener.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://bde7cglaqobkd
|
98
src/world/mechanics/listener/listener.tscn
Normal file
98
src/world/mechanics/listener/listener.tscn
Normal file
@ -0,0 +1,98 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://kctp5erogwcb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bde7cglaqobkd" path="res://src/world/mechanics/listener/listener.gd" id="1_htscg"]
|
||||
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_2ibh1"]
|
||||
[ext_resource type="Script" uid="uid://cfsiyhhrcua6o" path="res://src/world/game_sound/game_sound_listener.gd" id="2_htscg"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2ibh1"]
|
||||
data = PackedVector3Array(0, 0.05, 0.25, 0.0957, 0.05, 0.231, 0, -0.05, 0.2, 0.0957, 0.05, 0.231, 0.0765, -0.05, 0.1848, 0, -0.05, 0.2, 0.0957, 0.05, 0.231, 0.1768, 0.05, 0.1768, 0.0765, -0.05, 0.1848, 0.1768, 0.05, 0.1768, 0.1414, -0.05, 0.1414, 0.0765, -0.05, 0.1848, 0.1768, 0.05, 0.1768, 0.231, 0.05, 0.0957, 0.1414, -0.05, 0.1414, 0.231, 0.05, 0.0957, 0.1848, -0.05, 0.0765, 0.1414, -0.05, 0.1414, 0.231, 0.05, 0.0957, 0.25, 0.05, 0, 0.1848, -0.05, 0.0765, 0.25, 0.05, 0, 0.2, -0.05, 0, 0.1848, -0.05, 0.0765, 0.25, 0.05, 0, 0.231, 0.05, -0.0957, 0.2, -0.05, 0, 0.231, 0.05, -0.0957, 0.1848, -0.05, -0.0765, 0.2, -0.05, 0, 0.231, 0.05, -0.0957, 0.1768, 0.05, -0.1768, 0.1848, -0.05, -0.0765, 0.1768, 0.05, -0.1768, 0.1414, -0.05, -0.1414, 0.1848, -0.05, -0.0765, 0.1768, 0.05, -0.1768, 0.0957, 0.05, -0.231, 0.1414, -0.05, -0.1414, 0.0957, 0.05, -0.231, 0.0765, -0.05, -0.1848, 0.1414, -0.05, -0.1414, 0.0957, 0.05, -0.231, 0, 0.05, -0.25, 0.0765, -0.05, -0.1848, 0, 0.05, -0.25, 0, -0.05, -0.2, 0.0765, -0.05, -0.1848, 0, 0.05, -0.25, -0.0957, 0.05, -0.231, 0, -0.05, -0.2, -0.0957, 0.05, -0.231, -0.0765, -0.05, -0.1848, 0, -0.05, -0.2, -0.0957, 0.05, -0.231, -0.1768, 0.05, -0.1768, -0.0765, -0.05, -0.1848, -0.1768, 0.05, -0.1768, -0.1414, -0.05, -0.1414, -0.0765, -0.05, -0.1848, -0.1768, 0.05, -0.1768, -0.231, 0.05, -0.0957, -0.1414, -0.05, -0.1414, -0.231, 0.05, -0.0957, -0.1848, -0.05, -0.0765, -0.1414, -0.05, -0.1414, -0.231, 0.05, -0.0957, -0.25, 0.05, 0, -0.1848, -0.05, -0.0765, -0.25, 0.05, 0, -0.2, -0.05, 0, -0.1848, -0.05, -0.0765, -0.25, 0.05, 0, -0.231, 0.05, 0.0957, -0.2, -0.05, 0, -0.231, 0.05, 0.0957, -0.1848, -0.05, 0.0765, -0.2, -0.05, 0, -0.231, 0.05, 0.0957, -0.1768, 0.05, 0.1768, -0.1848, -0.05, 0.0765, -0.1768, 0.05, 0.1768, -0.1414, -0.05, 0.1414, -0.1848, -0.05, 0.0765, -0.1768, 0.05, 0.1768, -0.0957, 0.05, 0.231, -0.1414, -0.05, 0.1414, -0.0957, 0.05, 0.231, -0.0765, -0.05, 0.1848, -0.1414, -0.05, 0.1414, -0.0957, 0.05, 0.231, 0, 0.05, 0.25, -0.0765, -0.05, 0.1848, 0, 0.05, 0.25, 0, -0.05, 0.2, -0.0765, -0.05, 0.1848, 0, 0.05, 0, 0.0957, 0.05, 0.231, 0, 0.05, 0.25, 0, 0.05, 0, 0.1768, 0.05, 0.1768, 0.0957, 0.05, 0.231, 0, 0.05, 0, 0.231, 0.05, 0.0957, 0.1768, 0.05, 0.1768, 0, 0.05, 0, 0.25, 0.05, 0, 0.231, 0.05, 0.0957, 0, 0.05, 0, 0.231, 0.05, -0.0957, 0.25, 0.05, 0, 0, 0.05, 0, 0.1768, 0.05, -0.1768, 0.231, 0.05, -0.0957, 0, 0.05, 0, 0.0957, 0.05, -0.231, 0.1768, 0.05, -0.1768, 0, 0.05, 0, 0, 0.05, -0.25, 0.0957, 0.05, -0.231, 0, 0.05, 0, -0.0957, 0.05, -0.231, 0, 0.05, -0.25, 0, 0.05, 0, -0.1768, 0.05, -0.1768, -0.0957, 0.05, -0.231, 0, 0.05, 0, -0.231, 0.05, -0.0957, -0.1768, 0.05, -0.1768, 0, 0.05, 0, -0.25, 0.05, 0, -0.231, 0.05, -0.0957, 0, 0.05, 0, -0.231, 0.05, 0.0957, -0.25, 0.05, 0, 0, 0.05, 0, -0.1768, 0.05, 0.1768, -0.231, 0.05, 0.0957, 0, 0.05, 0, -0.0957, 0.05, 0.231, -0.1768, 0.05, 0.1768, 0, 0.05, 0, 0, 0.05, 0.25, -0.0957, 0.05, 0.231, 0, -0.05, 0, 0, -0.05, 0.2, 0.0765, -0.05, 0.1848, 0, -0.05, 0, 0.0765, -0.05, 0.1848, 0.1414, -0.05, 0.1414, 0, -0.05, 0, 0.1414, -0.05, 0.1414, 0.1848, -0.05, 0.0765, 0, -0.05, 0, 0.1848, -0.05, 0.0765, 0.2, -0.05, 0, 0, -0.05, 0, 0.2, -0.05, 0, 0.1848, -0.05, -0.0765, 0, -0.05, 0, 0.1848, -0.05, -0.0765, 0.1414, -0.05, -0.1414, 0, -0.05, 0, 0.1414, -0.05, -0.1414, 0.0765, -0.05, -0.1848, 0, -0.05, 0, 0.0765, -0.05, -0.1848, 0, -0.05, -0.2, 0, -0.05, 0, 0, -0.05, -0.2, -0.0765, -0.05, -0.1848, 0, -0.05, 0, -0.0765, -0.05, -0.1848, -0.1414, -0.05, -0.1414, 0, -0.05, 0, -0.1414, -0.05, -0.1414, -0.1848, -0.05, -0.0765, 0, -0.05, 0, -0.1848, -0.05, -0.0765, -0.2, -0.05, 0, 0, -0.05, 0, -0.2, -0.05, 0, -0.1848, -0.05, 0.0765, 0, -0.05, 0, -0.1848, -0.05, 0.0765, -0.1414, -0.05, 0.1414, 0, -0.05, 0, -0.1414, -0.05, 0.1414, -0.0765, -0.05, 0.1848, 0, -0.05, 0, -0.0765, -0.05, 0.1848, 0, -0.05, 0.2)
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_ud3xk"]
|
||||
top_radius = 0.25
|
||||
bottom_radius = 0.2
|
||||
height = 0.1
|
||||
radial_segments = 16
|
||||
rings = 0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_htscg"]
|
||||
resource_name = "trigger"
|
||||
length = 2.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CollisionShape3D:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 1.7, 1.9, 2),
|
||||
"transitions": PackedFloat32Array(0.618, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1), Vector3(1.779, 1.779, 1.779), Vector3(0.528, 0.528, 0.528), Vector3(1.287, 1.287, 1.287), Vector3(0.826, 0.826, 0.826), Vector3(1.105, 1.105, 1.105), Vector3(0.936, 0.936, 0.936), Vector3(1.039, 1.039, 1.039), Vector3(0.976, 0.976, 0.976), Vector3(1.014, 1.014, 1.014), Vector3(0.991, 0.991, 0.991), Vector3(1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2ibh1"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CollisionShape3D:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2ibh1"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_2ibh1"),
|
||||
&"trigger": SubResource("Animation_htscg")
|
||||
}
|
||||
|
||||
[node name="Listener" type="StaticBody3D"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_htscg")
|
||||
splatter_scene = ExtResource("2_2ibh1")
|
||||
durability = 3.0
|
||||
value = 4000.0
|
||||
metadata/_custom_type_script = "uid://bypgxi0gy56yk"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_2ibh1")
|
||||
|
||||
[node name="GameSoundListener" type="StaticBody3D" parent="CollisionShape3D"]
|
||||
collision_layer = 16
|
||||
collision_mask = 0
|
||||
script = ExtResource("2_htscg")
|
||||
metadata/_custom_type_script = "uid://cfsiyhhrcua6o"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CollisionShape3D/GameSoundListener"]
|
||||
shape = SubResource("ConcavePolygonShape3D_2ibh1")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
|
||||
mesh = SubResource("CylinderMesh_ud3xk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="CollisionShape3D/MeshInstance3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.051, 0)
|
||||
pixel_size = 0.001
|
||||
text = "LISTENER"
|
||||
font_size = 92
|
||||
outline_size = 20
|
||||
|
||||
[node name="CooldownTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 4.0
|
||||
one_shot = true
|
||||
|
||||
[node name="TriggerAnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_2ibh1")
|
||||
}
|
||||
|
||||
[connection signal="sound_detected" from="CollisionShape3D/GameSoundListener" to="." method="trigger" unbinds=1]
|
Loading…
x
Reference in New Issue
Block a user