2025-09-05 14:01:10 -06:00

247 lines
12 KiB
Plaintext

[gd_scene load_steps=26 format=3 uid="uid://brrd33217oplv"]
[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"]
[ext_resource type="Script" uid="uid://bueq1q2qva7gs" path="res://src/world/grunk_beast/shambler/shambler.gd" id="2_s7rwx"]
[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"]
[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
[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
[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
[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(-1196.38, 101.408)
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"]
[sub_resource type="Curve" id="Curve_orq0l"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.781516, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -12.6515, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_fabmb"]
curve = SubResource("Curve_orq0l")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_elp7k"]
lifetime_randomness = 0.71
direction = Vector3(0, 1, 0)
spread = 20.0
initial_velocity_min = 5.0
initial_velocity_max = 7.0
attractor_interaction_enabled = false
scale_curve = SubResource("CurveTexture_fabmb")
collision_mode = 1
collision_friction = 1.0
collision_bounce = 0.0
[node name="Shambler" instance=ExtResource("1_uiw1a")]
script = ExtResource("2_s7rwx")
idle_blend_curve = SubResource("Curve_s7rwx")
rear_blend_curve = SubResource("Curve_xyfav")
rear_scale_curve = SubResource("Curve_lqi3b")
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
[node name="Skeleton3D" parent="Armature" index="0"]
bones/1/position = Vector3(2.84217e-14, 1.51485, -2.51305)
bones/1/rotation = Quaternion(0.249313, 1.15445e-07, 2.97205e-08, 0.968423)
bones/1/scale = Vector3(1, 1, 1)
bones/2/rotation = Quaternion(0.204824, -2.09311e-13, 4.88339e-08, 0.978799)
bones/2/scale = Vector3(1, 1, 1)
bones/3/rotation = Quaternion(0.196821, 2.33752e-07, 9.3851e-08, 0.980439)
bones/4/rotation = Quaternion(0.0429047, 4.76413e-07, 5.11467e-08, 0.999079)
bones/5/scale = Vector3(1, 1, 1)
bones/6/rotation = Quaternion(-0.651315, 0.751756, -0.0947566, 0.0409037)
bones/7/rotation = Quaternion(0.50357, -0.0489935, -0.00100176, 0.862563)
bones/8/rotation = Quaternion(0.204939, -0.000834636, 0.0245877, 0.978466)
bones/9/rotation = Quaternion(0.651315, 0.751756, -0.0947566, -0.0409037)
bones/10/rotation = Quaternion(0.50357, 0.0489935, 0.00100176, 0.862563)
bones/11/rotation = Quaternion(0.204939, 0.000834638, -0.0245877, 0.978465)
bones/12/rotation = Quaternion(0.0338831, -0.281898, -0.795744, 0.534955)
bones/13/rotation = Quaternion(0.00213064, 0.0655049, -0.355854, 0.932241)
bones/14/rotation = Quaternion(-0.109452, 0.0150748, -0.151858, 0.982208)
bones/15/rotation = Quaternion(0.269235, -0.0369024, 0.847203, -0.456507)
bones/16/rotation = Quaternion(0.185658, -0.109653, -0.43151, 0.87596)
bones/17/rotation = Quaternion(-0.192939, 0.0499936, 0.0316556, 0.979425)
bones/18/rotation = Quaternion(0.0338831, 0.281898, 0.795744, 0.534955)
bones/19/rotation = Quaternion(0.00213072, -0.0655051, 0.355853, 0.932241)
bones/20/rotation = Quaternion(-0.109452, -0.0150747, 0.151858, 0.982208)
bones/21/rotation = Quaternion(-0.269235, -0.0369029, 0.847203, 0.456507)
bones/22/rotation = Quaternion(0.185658, 0.109653, 0.431509, 0.875961)
bones/23/rotation = Quaternion(-0.192939, -0.0499936, -0.0316556, 0.979425)
bones/24/position = Vector3(1.55329, 0.839106, 0.783253)
bones/24/rotation = Quaternion(0.508763, 0.508763, -0.491081, 0.491081)
bones/25/position = Vector3(0.428726, 0.847774, -1.16198)
bones/26/position = Vector3(-2.36554e-07, -1.66001e-07, 5.12588e-07)
bones/27/rotation = Quaternion(0.0793162, 0.0182055, -0.71141, 0.69805)
bones/28/position = Vector3(-1.55329, 0.839106, 0.783253)
bones/28/rotation = Quaternion(0.508763, -0.508763, 0.491081, 0.491081)
bones/29/position = Vector3(-0.428726, 0.847774, -1.16198)
bones/31/rotation = Quaternion(0.0793162, -0.0182055, 0.71141, 0.69805)
bones/32/position = Vector3(0.776177, 0.476268, -2.27135)
bones/33/position = Vector3(1.47158e-07, 3.29446e-07, -1.54669e-07)
bones/33/rotation = Quaternion(-0.19757, -0.580371, 0.78173, 0.114167)
bones/35/position = Vector3(-0.776177, 0.476268, -2.27135)
bones/36/position = Vector3(-5.46684e-07, 1.39751e-08, -2.09895e-07)
bones/36/rotation = Quaternion(0.19757, -0.580371, 0.78173, -0.114167)
bones/38/position = Vector3(0.737397, 0.515845, -3.26979)
bones/39/position = Vector3(-4.9934e-08, 2.2182e-07, -1.97891e-07)
bones/39/rotation = Quaternion(0.136442, -0.601968, 0.761522, -0.197743)
bones/41/position = Vector3(-0.737397, 0.515845, -3.26979)
bones/42/position = Vector3(3.2303e-07, 2.28217e-07, -7.45868e-09)
[node name="Shambler" parent="Armature/Skeleton3D" index="0"]
surface_material_override/0 = ExtResource("2_nayyt")
[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
duration = 0.3
transition_type = 7
ease_type = 1
use_angle_limitation = true
symmetry_limitation = true
primary_limit_angle = 1.5708
primary_damp_threshold = 0.7
[node name="SleeveL" type="BoneAttachment3D" parent="Armature/Skeleton3D" index="2"]
transform = Transform3D(0.0438309, 7.45058e-08, -0.999039, 0.999039, 6.10948e-07, 0.0438309, 7.37607e-07, -1, -4.47035e-08, 1.63061, 0.0124229, 0.803842)
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.0438309, -7.45058e-08, 0.999039, -0.999039, 6.10948e-07, 0.0438309, -7.37607e-07, -1, -4.47035e-08, -1.63061, 0.0124234, 0.803842)
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"
[node name="AnimationPlayer" parent="." index="1"]
unique_name_in_owner = true
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
unique_name_in_owner = true
root_node = NodePath("%AnimationTree/..")
tree_root = SubResource("AnimationNodeBlendTree_nayyt")
anim_player = NodePath("../AnimationPlayer")
parameters/anim_scale/scale = 1.0
parameters/emerge_floor_trigger/active = false
parameters/emerge_floor_trigger/internal_active = false
parameters/emerge_floor_trigger/request = 0
parameters/front_scale/scale = 1.0
parameters/idle_blend/blend_amount = 0.0
parameters/rear_add/add_amount = 0.0
parameters/rear_scale/scale = 1.0
[node name="LookTargetPivot" type="Node3D" parent="." index="3"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
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)
[node name="DebugBall" type="MeshInstance3D" parent="LookTargetPivot/LookTarget" index="0"]
visible = false
mesh = SubResource("SphereMesh_s7rwx")
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="." index="4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.25, 0)
size = Vector3(6, 0.5, 6)
[node name="SpawnDebris" parent="." index="5" instance=ExtResource("5_lqi3b")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
amount = 64
amount_ratio = 0.0
one_shot = false
preprocess = 0.0
explosiveness = 0.1
randomness = 0.43
process_material = SubResource("ParticleProcessMaterial_elp7k")