2025-09-02 13:01:29 -06:00
|
|
|
[gd_scene load_steps=23 format=3 uid="uid://brrd33217oplv"]
|
2025-08-30 00:12:41 -06:00
|
|
|
|
|
|
|
[ext_resource type="PackedScene" uid="uid://cyqr1ojnddyk0" path="res://assets/npc/shambler/shambler.gltf" id="1_uiw1a"]
|
|
|
|
[ext_resource type="Material" uid="uid://7xrgrvf3lymv" path="res://assets/npc/shambler/shambler.material" id="2_nayyt"]
|
2025-08-30 18:42:35 -06:00
|
|
|
[ext_resource type="Script" uid="uid://bueq1q2qva7gs" path="res://src/world/grunk_beast/shambler/shambler.gd" id="2_s7rwx"]
|
2025-09-02 13:01:29 -06:00
|
|
|
[ext_resource type="Script" uid="uid://cuqr167olan8n" path="res://src/effects/particle_spawner.gd" id="4_elp7k"]
|
|
|
|
[ext_resource type="PackedScene" uid="uid://cf1o33mq2hxjx" path="res://src/effects/grunk_debris.tscn" id="5_lqi3b"]
|
2025-08-30 18:42:35 -06:00
|
|
|
|
|
|
|
[sub_resource type="Curve" id="Curve_s7rwx"]
|
|
|
|
_limits = [0.0, 1.0, 0.0, 10.0]
|
|
|
|
_data = [Vector2(0, 0), 0.0, 0.230666, 0, 0, Vector2(5, 1), 0.0, 0.0, 0, 0, Vector2(10, 1), 0.0, 0.0, 0, 0]
|
|
|
|
point_count = 3
|
|
|
|
|
2025-09-01 16:06:24 -06:00
|
|
|
[sub_resource type="Curve" id="Curve_xyfav"]
|
|
|
|
_limits = [0.0, 1.0, 0.0, 10.0]
|
|
|
|
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
|
|
|
point_count = 2
|
|
|
|
|
|
|
|
[sub_resource type="Curve" id="Curve_lqi3b"]
|
|
|
|
_limits = [0.0, 4.0, 0.0, 10.0]
|
|
|
|
_data = [Vector2(0, 0), 0.0, 0.924, 0, 0, Vector2(4.36728, 4), 0.0, 0.0, 0, 0, Vector2(10, 4), 0.0, 0.0, 0, 0]
|
|
|
|
point_count = 3
|
|
|
|
|
2025-08-30 18:42:35 -06:00
|
|
|
[sub_resource type="Curve" id="Curve_vmxrd"]
|
|
|
|
_limits = [0.0, 3.0, 0.0, 10.0]
|
|
|
|
_data = [Vector2(4, 1), 0.141612, 0.141612, 0, 0, Vector2(5, 1.2), 0.327899, 0.327899, 0, 0, Vector2(10, 3), 0.392484, 0.0, 0, 0]
|
|
|
|
point_count = 3
|
|
|
|
|
|
|
|
[sub_resource type="Curve" id="Curve_elp7k"]
|
|
|
|
_limits = [0.0, 6.0, 0.0, 10.0]
|
|
|
|
_data = [Vector2(2, 1), 0.0, 0.0, 0, 0, Vector2(4, 3), 0.953378, 0.953378, 0, 0, Vector2(10, 6), 0.0, 0.0, 0, 0]
|
|
|
|
point_count = 3
|
2025-08-30 00:12:41 -06:00
|
|
|
|
2025-09-02 12:16:16 -06:00
|
|
|
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_s7rwx"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vmxrd"]
|
|
|
|
animation = &"emerge_floor"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeOneShot" id="AnimationNodeOneShot_elp7k"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_vmxrd"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nayyt"]
|
|
|
|
animation = &"idle"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_nayyt"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_lqi3b"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_elp7k"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_s7rwx"]
|
|
|
|
animation = &"walk_front"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_elp7k"]
|
|
|
|
animation = &"walk_rear"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nayyt"]
|
|
|
|
graph_offset = Vector2(-1225.38, 46.1403)
|
|
|
|
nodes/anim_scale/node = SubResource("AnimationNodeTimeScale_s7rwx")
|
|
|
|
nodes/anim_scale/position = Vector2(280, 140)
|
|
|
|
nodes/emerge_floor/node = SubResource("AnimationNodeAnimation_vmxrd")
|
|
|
|
nodes/emerge_floor/position = Vector2(-244.217, 564.913)
|
|
|
|
nodes/emerge_floor_trigger/node = SubResource("AnimationNodeOneShot_elp7k")
|
|
|
|
nodes/emerge_floor_trigger/position = Vector2(20, 160)
|
|
|
|
nodes/front_scale/node = SubResource("AnimationNodeTimeScale_vmxrd")
|
|
|
|
nodes/front_scale/position = Vector2(-720, 200)
|
|
|
|
nodes/idle_anim/node = SubResource("AnimationNodeAnimation_nayyt")
|
|
|
|
nodes/idle_anim/position = Vector2(-720, 0)
|
|
|
|
nodes/idle_blend/node = SubResource("AnimationNodeBlend2_nayyt")
|
|
|
|
nodes/idle_blend/position = Vector2(-480, 100)
|
|
|
|
nodes/output/position = Vector2(500, 160)
|
|
|
|
nodes/rear_add/node = SubResource("AnimationNodeAdd2_lqi3b")
|
|
|
|
nodes/rear_add/position = Vector2(-200, 160)
|
|
|
|
nodes/rear_scale/node = SubResource("AnimationNodeTimeScale_elp7k")
|
|
|
|
nodes/rear_scale/position = Vector2(-460, 380)
|
|
|
|
nodes/walk_front/node = SubResource("AnimationNodeAnimation_s7rwx")
|
|
|
|
nodes/walk_front/position = Vector2(-940, 200)
|
|
|
|
nodes/walk_rear/node = SubResource("AnimationNodeAnimation_elp7k")
|
|
|
|
nodes/walk_rear/position = Vector2(-720, 420)
|
|
|
|
node_connections = [&"anim_scale", 0, &"emerge_floor_trigger", &"emerge_floor_trigger", 0, &"rear_add", &"emerge_floor_trigger", 1, &"emerge_floor", &"front_scale", 0, &"walk_front", &"idle_blend", 0, &"idle_anim", &"idle_blend", 1, &"front_scale", &"output", 0, &"anim_scale", &"rear_add", 0, &"idle_blend", &"rear_add", 1, &"rear_scale", &"rear_scale", 0, &"walk_rear"]
|
|
|
|
|
|
|
|
[sub_resource type="SphereMesh" id="SphereMesh_s7rwx"]
|
|
|
|
|
2025-08-30 00:12:41 -06:00
|
|
|
[node name="Shambler" instance=ExtResource("1_uiw1a")]
|
2025-08-30 18:42:35 -06:00
|
|
|
script = ExtResource("2_s7rwx")
|
2025-09-01 16:06:24 -06:00
|
|
|
idle_blend_curve = SubResource("Curve_s7rwx")
|
|
|
|
rear_blend_curve = SubResource("Curve_xyfav")
|
|
|
|
rear_scale_curve = SubResource("Curve_lqi3b")
|
2025-08-30 18:42:35 -06:00
|
|
|
walk_scale_curve = SubResource("Curve_vmxrd")
|
|
|
|
look_accel_curve = SubResource("Curve_elp7k")
|
|
|
|
|
|
|
|
[node name="Armature" parent="." index="0"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
|
|
|
top_level = true
|
2025-08-30 00:12:41 -06:00
|
|
|
|
|
|
|
[node name="Shambler" parent="Armature/Skeleton3D" index="0"]
|
|
|
|
surface_material_override/0 = ExtResource("2_nayyt")
|
|
|
|
|
2025-08-30 18:42:35 -06:00
|
|
|
[node name="LookIK" type="LookAtModifier3D" parent="Armature/Skeleton3D" index="1"]
|
|
|
|
target_node = NodePath("../../../LookTargetPivot/LookTarget")
|
|
|
|
bone_name = "Spine.005"
|
|
|
|
bone = 5
|
|
|
|
forward_axis = 2
|
|
|
|
primary_rotation_axis = 2
|
|
|
|
use_secondary_rotation = false
|
|
|
|
use_angle_limitation = true
|
|
|
|
symmetry_limitation = true
|
|
|
|
primary_limit_angle = 1.5708
|
|
|
|
primary_damp_threshold = 0.7
|
|
|
|
|
2025-09-02 13:01:29 -06:00
|
|
|
[node name="SleeveL" type="BoneAttachment3D" parent="Armature/Skeleton3D" index="2"]
|
|
|
|
transform = Transform3D(0.0438309, 3.03611e-07, -0.999039, 0.871667, 0.488605, 0.0382428, 0.488135, -0.872506, 0.0214158, 1.63061, 0.0124237, 2.89069)
|
|
|
|
bone_name = "Sleeve.L"
|
|
|
|
bone_idx = 27
|
|
|
|
|
|
|
|
[node name="LeftDebris" type="Node3D" parent="Armature/Skeleton3D/SleeveL" index="0"]
|
|
|
|
transform = Transform3D(-4.37114e-08, 1, 1.49012e-09, -1, -4.37114e-08, 0, 6.51351e-17, -1.49012e-09, 1, 0.1, 0.3, 0)
|
|
|
|
script = ExtResource("4_elp7k")
|
|
|
|
particle_scene = ExtResource("5_lqi3b")
|
|
|
|
metadata/_custom_type_script = "uid://cuqr167olan8n"
|
|
|
|
|
|
|
|
[node name="SleeveR" type="BoneAttachment3D" parent="Armature/Skeleton3D" index="3"]
|
|
|
|
transform = Transform3D(0.043831, -1.41561e-07, 0.999039, -0.999039, 9.59262e-08, 0.0438309, -3.1665e-08, -1, -1.11759e-07, -1.63061, 0.0124235, -1.70549)
|
|
|
|
bone_name = "Sleeve.R"
|
|
|
|
bone_idx = 31
|
|
|
|
|
|
|
|
[node name="RightDebris" type="Node3D" parent="Armature/Skeleton3D/SleeveR" index="0"]
|
|
|
|
transform = Transform3D(-4.37114e-08, -1, 2.98022e-09, 1, -4.37114e-08, 2.28676e-14, -2.27374e-14, 2.98022e-09, 1, -0.1, 0.3, -1.19209e-07)
|
|
|
|
script = ExtResource("4_elp7k")
|
|
|
|
particle_scene = ExtResource("5_lqi3b")
|
|
|
|
metadata/_custom_type_script = "uid://cuqr167olan8n"
|
2025-09-02 09:48:12 -06:00
|
|
|
|
2025-08-30 18:42:35 -06:00
|
|
|
[node name="AnimationPlayer" parent="." index="1"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
|
2025-08-30 00:12:41 -06:00
|
|
|
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
|
2025-08-30 18:42:35 -06:00
|
|
|
unique_name_in_owner = true
|
|
|
|
root_node = NodePath("%AnimationTree/..")
|
2025-08-30 00:12:41 -06:00
|
|
|
tree_root = SubResource("AnimationNodeBlendTree_nayyt")
|
|
|
|
anim_player = NodePath("../AnimationPlayer")
|
2025-09-02 09:48:12 -06:00
|
|
|
parameters/anim_scale/scale = 1.0
|
2025-09-02 12:16:16 -06:00
|
|
|
parameters/emerge_floor_trigger/active = false
|
|
|
|
parameters/emerge_floor_trigger/internal_active = false
|
|
|
|
parameters/emerge_floor_trigger/request = 0
|
2025-09-02 09:48:12 -06:00
|
|
|
parameters/front_scale/scale = 1.0
|
2025-09-01 16:06:24 -06:00
|
|
|
parameters/idle_blend/blend_amount = 0.0
|
2025-09-02 09:48:12 -06:00
|
|
|
parameters/rear_add/add_amount = 0.0
|
2025-09-01 16:06:24 -06:00
|
|
|
parameters/rear_scale/scale = 1.0
|
2025-08-30 00:12:41 -06:00
|
|
|
|
2025-08-30 18:42:35 -06:00
|
|
|
[node name="LookTargetPivot" type="Node3D" parent="." index="3"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
top_level = true
|
|
|
|
|
|
|
|
[node name="LookTarget" type="Marker3D" parent="LookTargetPivot" index="0"]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
|
|
|
|
|
2025-09-01 17:21:05 -06:00
|
|
|
[node name="DebugBall" type="MeshInstance3D" parent="LookTargetPivot/LookTarget" index="0"]
|
2025-08-30 18:42:35 -06:00
|
|
|
mesh = SubResource("SphereMesh_s7rwx")
|
2025-09-02 09:48:12 -06:00
|
|
|
|
2025-09-02 12:16:16 -06:00
|
|
|
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="." index="4"]
|
2025-09-02 13:01:29 -06:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.25, 0)
|
|
|
|
size = Vector3(6, 0.5, 6)
|