Custom animation tracks should be saved for Shambler

This commit is contained in:
Rob Kelly 2025-09-02 18:41:27 -06:00
parent 684dfbd6e0
commit 8ae957817f
16 changed files with 2434 additions and 13 deletions

View File

@ -0,0 +1,438 @@
[gd_resource type="Animation" format=3 uid="uid://bgu0a5vfc1osi"]
[resource]
resource_name = "RESET"
length = 0.001
tracks/0/type = "position_3d"
tracks/0/imported = true
tracks/0/enabled = true
tracks/0/path = NodePath("Armature/Skeleton3D:Spine.001")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 2.84217e-14, 1.51485, -2.51305)
tracks/1/type = "rotation_3d"
tracks/1/imported = true
tracks/1/enabled = true
tracks/1/path = NodePath("Armature/Skeleton3D:Spine.001")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = PackedFloat32Array(0, 1, 0.249313, 1.15445e-07, 2.97205e-08, 0.968423)
tracks/2/type = "scale_3d"
tracks/2/imported = true
tracks/2/enabled = true
tracks/2/path = NodePath("Armature/Skeleton3D:Spine.001")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/3/type = "rotation_3d"
tracks/3/imported = true
tracks/3/enabled = true
tracks/3/path = NodePath("Armature/Skeleton3D:Spine.002")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = PackedFloat32Array(0, 1, 0.204824, -2.0916e-13, 4.88339e-08, 0.978799)
tracks/4/type = "scale_3d"
tracks/4/imported = true
tracks/4/enabled = true
tracks/4/path = NodePath("Armature/Skeleton3D:Spine.002")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/5/type = "rotation_3d"
tracks/5/imported = true
tracks/5/enabled = true
tracks/5/path = NodePath("Armature/Skeleton3D:Spine.003")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = PackedFloat32Array(0, 1, 0.196821, 2.33752e-07, 9.3851e-08, 0.980439)
tracks/6/type = "rotation_3d"
tracks/6/imported = true
tracks/6/enabled = true
tracks/6/path = NodePath("Armature/Skeleton3D:Spine.004")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = PackedFloat32Array(0, 1, 0.0429047, 4.76413e-07, 5.11467e-08, 0.999079)
tracks/7/type = "scale_3d"
tracks/7/imported = true
tracks/7/enabled = true
tracks/7/path = NodePath("Armature/Skeleton3D:Spine.004")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/8/type = "scale_3d"
tracks/8/imported = true
tracks/8/enabled = true
tracks/8/path = NodePath("Armature/Skeleton3D:Spine.005")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/9/type = "rotation_3d"
tracks/9/imported = true
tracks/9/enabled = true
tracks/9/path = NodePath("Armature/Skeleton3D:Shoulder.L")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = PackedFloat32Array(0, 1, -0.651315, 0.751756, -0.0947566, 0.0409037)
tracks/10/type = "rotation_3d"
tracks/10/imported = true
tracks/10/enabled = true
tracks/10/path = NodePath("Armature/Skeleton3D:Arm.L.001")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = PackedFloat32Array(0, 1, 0.50357, -0.0489935, -0.00100176, 0.862563)
tracks/11/type = "rotation_3d"
tracks/11/imported = true
tracks/11/enabled = true
tracks/11/path = NodePath("Armature/Skeleton3D:Arm.L.002")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = PackedFloat32Array(0, 1, 0.204939, -0.000834635, 0.0245877, 0.978465)
tracks/12/type = "rotation_3d"
tracks/12/imported = true
tracks/12/enabled = true
tracks/12/path = NodePath("Armature/Skeleton3D:Shoulder.R")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = PackedFloat32Array(0, 1, -0.651315, -0.751756, 0.0947566, 0.0409037)
tracks/13/type = "rotation_3d"
tracks/13/imported = true
tracks/13/enabled = true
tracks/13/path = NodePath("Armature/Skeleton3D:Arm.R.001")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = PackedFloat32Array(0, 1, 0.50357, 0.0489935, 0.00100176, 0.862563)
tracks/14/type = "rotation_3d"
tracks/14/imported = true
tracks/14/enabled = true
tracks/14/path = NodePath("Armature/Skeleton3D:Arm.R.002")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = PackedFloat32Array(0, 1, 0.204939, 0.000834639, -0.0245877, 0.978466)
tracks/15/type = "rotation_3d"
tracks/15/imported = true
tracks/15/enabled = true
tracks/15/path = NodePath("Armature/Skeleton3D:MidHip.L")
tracks/15/interp = 1
tracks/15/loop_wrap = true
tracks/15/keys = PackedFloat32Array(0, 1, 0.0338831, -0.281898, -0.795744, 0.534955)
tracks/16/type = "rotation_3d"
tracks/16/imported = true
tracks/16/enabled = true
tracks/16/path = NodePath("Armature/Skeleton3D:MidLeg.L.001")
tracks/16/interp = 1
tracks/16/loop_wrap = true
tracks/16/keys = PackedFloat32Array(0, 1, 0.00213064, 0.0655049, -0.355854, 0.932241)
tracks/17/type = "rotation_3d"
tracks/17/imported = true
tracks/17/enabled = true
tracks/17/path = NodePath("Armature/Skeleton3D:MidLeg.L.002")
tracks/17/interp = 1
tracks/17/loop_wrap = true
tracks/17/keys = PackedFloat32Array(0, 1, -0.109452, 0.0150748, -0.151858, 0.982208)
tracks/18/type = "rotation_3d"
tracks/18/imported = true
tracks/18/enabled = true
tracks/18/path = NodePath("Armature/Skeleton3D:BackHip.L")
tracks/18/interp = 1
tracks/18/loop_wrap = true
tracks/18/keys = PackedFloat32Array(0, 1, -0.269235, 0.0369024, -0.847203, 0.456507)
tracks/19/type = "rotation_3d"
tracks/19/imported = true
tracks/19/enabled = true
tracks/19/path = NodePath("Armature/Skeleton3D:BackLeg.L.001")
tracks/19/interp = 1
tracks/19/loop_wrap = true
tracks/19/keys = PackedFloat32Array(0, 1, 0.185658, -0.109653, -0.43151, 0.875961)
tracks/20/type = "rotation_3d"
tracks/20/imported = true
tracks/20/enabled = true
tracks/20/path = NodePath("Armature/Skeleton3D:BackLeg.L.002")
tracks/20/interp = 1
tracks/20/loop_wrap = true
tracks/20/keys = PackedFloat32Array(0, 1, -0.192939, 0.0499936, 0.0316556, 0.979425)
tracks/21/type = "rotation_3d"
tracks/21/imported = true
tracks/21/enabled = true
tracks/21/path = NodePath("Armature/Skeleton3D:MidHip.R")
tracks/21/interp = 1
tracks/21/loop_wrap = true
tracks/21/keys = PackedFloat32Array(0, 1, 0.0338831, 0.281898, 0.795744, 0.534955)
tracks/22/type = "rotation_3d"
tracks/22/imported = true
tracks/22/enabled = true
tracks/22/path = NodePath("Armature/Skeleton3D:MidLeg.R.001")
tracks/22/interp = 1
tracks/22/loop_wrap = true
tracks/22/keys = PackedFloat32Array(0, 1, 0.00213072, -0.0655051, 0.355853, 0.932241)
tracks/23/type = "rotation_3d"
tracks/23/imported = true
tracks/23/enabled = true
tracks/23/path = NodePath("Armature/Skeleton3D:MidLeg.R.002")
tracks/23/interp = 1
tracks/23/loop_wrap = true
tracks/23/keys = PackedFloat32Array(0, 1, -0.109452, -0.0150747, 0.151858, 0.982208)
tracks/24/type = "rotation_3d"
tracks/24/imported = true
tracks/24/enabled = true
tracks/24/path = NodePath("Armature/Skeleton3D:BackHip.R")
tracks/24/interp = 1
tracks/24/loop_wrap = true
tracks/24/keys = PackedFloat32Array(0, 1, -0.269235, -0.0369029, 0.847203, 0.456507)
tracks/25/type = "rotation_3d"
tracks/25/imported = true
tracks/25/enabled = true
tracks/25/path = NodePath("Armature/Skeleton3D:BackLeg.R.001")
tracks/25/interp = 1
tracks/25/loop_wrap = true
tracks/25/keys = PackedFloat32Array(0, 1, 0.185658, 0.109653, 0.431509, 0.875961)
tracks/26/type = "rotation_3d"
tracks/26/imported = true
tracks/26/enabled = true
tracks/26/path = NodePath("Armature/Skeleton3D:BackLeg.R.002")
tracks/26/interp = 1
tracks/26/loop_wrap = true
tracks/26/keys = PackedFloat32Array(0, 1, -0.192939, -0.0499936, -0.0316556, 0.979425)
tracks/27/type = "position_3d"
tracks/27/imported = true
tracks/27/enabled = true
tracks/27/path = NodePath("Armature/Skeleton3D:Arm.IK.L")
tracks/27/interp = 1
tracks/27/loop_wrap = true
tracks/27/keys = PackedFloat32Array(0, 1, 1.55329, 0.839106, 0.783253)
tracks/28/type = "rotation_3d"
tracks/28/imported = true
tracks/28/enabled = true
tracks/28/path = NodePath("Armature/Skeleton3D:Arm.IK.L")
tracks/28/interp = 1
tracks/28/loop_wrap = true
tracks/28/keys = PackedFloat32Array(0, 1, 0.508763, 0.508763, -0.491081, 0.491081)
tracks/29/type = "position_3d"
tracks/29/imported = true
tracks/29/enabled = true
tracks/29/path = NodePath("Armature/Skeleton3D:Arm.IK.Pole.L")
tracks/29/interp = 1
tracks/29/loop_wrap = true
tracks/29/keys = PackedFloat32Array(0, 1, 0.428726, 0.847774, -1.16198)
tracks/30/type = "position_3d"
tracks/30/imported = true
tracks/30/enabled = true
tracks/30/path = NodePath("Armature/Skeleton3D:Arm.L.003")
tracks/30/interp = 1
tracks/30/loop_wrap = true
tracks/30/keys = PackedFloat32Array(0, 1, -2.36554e-07, -1.66001e-07, 5.12588e-07)
tracks/31/type = "rotation_3d"
tracks/31/imported = true
tracks/31/enabled = true
tracks/31/path = NodePath("Armature/Skeleton3D:Sleeve.L")
tracks/31/interp = 1
tracks/31/loop_wrap = true
tracks/31/keys = PackedFloat32Array(0, 1, 0.0793162, 0.0182055, -0.71141, 0.69805)
tracks/32/type = "position_3d"
tracks/32/imported = true
tracks/32/enabled = true
tracks/32/path = NodePath("Armature/Skeleton3D:Arm.IK.R")
tracks/32/interp = 1
tracks/32/loop_wrap = true
tracks/32/keys = PackedFloat32Array(0, 1, -1.55329, 0.839106, 0.783253)
tracks/33/type = "rotation_3d"
tracks/33/imported = true
tracks/33/enabled = true
tracks/33/path = NodePath("Armature/Skeleton3D:Arm.IK.R")
tracks/33/interp = 1
tracks/33/loop_wrap = true
tracks/33/keys = PackedFloat32Array(0, 1, 0.508763, -0.508763, 0.491081, 0.491081)
tracks/34/type = "position_3d"
tracks/34/imported = true
tracks/34/enabled = true
tracks/34/path = NodePath("Armature/Skeleton3D:Arm.IK.Pole.R")
tracks/34/interp = 1
tracks/34/loop_wrap = true
tracks/34/keys = PackedFloat32Array(0, 1, -0.428726, 0.847774, -1.16198)
tracks/35/type = "rotation_3d"
tracks/35/imported = true
tracks/35/enabled = true
tracks/35/path = NodePath("Armature/Skeleton3D:Sleeve.R")
tracks/35/interp = 1
tracks/35/loop_wrap = true
tracks/35/keys = PackedFloat32Array(0, 1, 0.0793162, -0.0182055, 0.71141, 0.69805)
tracks/36/type = "position_3d"
tracks/36/imported = true
tracks/36/enabled = true
tracks/36/path = NodePath("Armature/Skeleton3D:MidLeg.IK.L")
tracks/36/interp = 1
tracks/36/loop_wrap = true
tracks/36/keys = PackedFloat32Array(0, 1, 0.776177, 0.476268, -2.27135)
tracks/37/type = "rotation_3d"
tracks/37/imported = true
tracks/37/enabled = true
tracks/37/path = NodePath("Armature/Skeleton3D:MidLeg.IK.L")
tracks/37/interp = 1
tracks/37/loop_wrap = true
tracks/37/keys = PackedFloat32Array(0, 1, -0.707107, 0, 0, 0.707107)
tracks/38/type = "scale_3d"
tracks/38/imported = true
tracks/38/enabled = true
tracks/38/path = NodePath("Armature/Skeleton3D:MidLeg.IK.L")
tracks/38/interp = 1
tracks/38/loop_wrap = true
tracks/38/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/39/type = "position_3d"
tracks/39/imported = true
tracks/39/enabled = true
tracks/39/path = NodePath("Armature/Skeleton3D:MidLeg.L.003")
tracks/39/interp = 1
tracks/39/loop_wrap = true
tracks/39/keys = PackedFloat32Array(0, 1, 1.47158e-07, 3.29446e-07, -1.54669e-07)
tracks/40/type = "rotation_3d"
tracks/40/imported = true
tracks/40/enabled = true
tracks/40/path = NodePath("Armature/Skeleton3D:MidLeg.L.003")
tracks/40/interp = 1
tracks/40/loop_wrap = true
tracks/40/keys = PackedFloat32Array(0, 1, -0.19757, -0.580371, 0.78173, 0.114167)
tracks/41/type = "position_3d"
tracks/41/imported = true
tracks/41/enabled = true
tracks/41/path = NodePath("Armature/Skeleton3D:MidLeg.IK.R")
tracks/41/interp = 1
tracks/41/loop_wrap = true
tracks/41/keys = PackedFloat32Array(0, 1, -0.776177, 0.476268, -2.27135)
tracks/42/type = "rotation_3d"
tracks/42/imported = true
tracks/42/enabled = true
tracks/42/path = NodePath("Armature/Skeleton3D:MidLeg.IK.R")
tracks/42/interp = 1
tracks/42/loop_wrap = true
tracks/42/keys = PackedFloat32Array(0, 1, -0.707107, 0, 0, 0.707107)
tracks/43/type = "scale_3d"
tracks/43/imported = true
tracks/43/enabled = true
tracks/43/path = NodePath("Armature/Skeleton3D:MidLeg.IK.R")
tracks/43/interp = 1
tracks/43/loop_wrap = true
tracks/43/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/44/type = "position_3d"
tracks/44/imported = true
tracks/44/enabled = true
tracks/44/path = NodePath("Armature/Skeleton3D:MidLeg.R.003")
tracks/44/interp = 1
tracks/44/loop_wrap = true
tracks/44/keys = PackedFloat32Array(0, 1, -5.46684e-07, 1.39751e-08, -2.09895e-07)
tracks/45/type = "rotation_3d"
tracks/45/imported = true
tracks/45/enabled = true
tracks/45/path = NodePath("Armature/Skeleton3D:MidLeg.R.003")
tracks/45/interp = 1
tracks/45/loop_wrap = true
tracks/45/keys = PackedFloat32Array(0, 1, -0.19757, 0.580371, -0.78173, 0.114167)
tracks/46/type = "position_3d"
tracks/46/imported = true
tracks/46/enabled = true
tracks/46/path = NodePath("Armature/Skeleton3D:BackLeg.IK.L")
tracks/46/interp = 1
tracks/46/loop_wrap = true
tracks/46/keys = PackedFloat32Array(0, 1, 0.737397, 0.515845, -3.26979)
tracks/47/type = "rotation_3d"
tracks/47/imported = true
tracks/47/enabled = true
tracks/47/path = NodePath("Armature/Skeleton3D:BackLeg.IK.L")
tracks/47/interp = 1
tracks/47/loop_wrap = true
tracks/47/keys = PackedFloat32Array(0, 1, -0.707107, 0, 0, 0.707107)
tracks/48/type = "scale_3d"
tracks/48/imported = true
tracks/48/enabled = true
tracks/48/path = NodePath("Armature/Skeleton3D:BackLeg.IK.L")
tracks/48/interp = 1
tracks/48/loop_wrap = true
tracks/48/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/49/type = "position_3d"
tracks/49/imported = true
tracks/49/enabled = true
tracks/49/path = NodePath("Armature/Skeleton3D:BackLeg.L.003")
tracks/49/interp = 1
tracks/49/loop_wrap = true
tracks/49/keys = PackedFloat32Array(0, 1, -4.9934e-08, 2.2182e-07, -1.97891e-07)
tracks/50/type = "rotation_3d"
tracks/50/imported = true
tracks/50/enabled = true
tracks/50/path = NodePath("Armature/Skeleton3D:BackLeg.L.003")
tracks/50/interp = 1
tracks/50/loop_wrap = true
tracks/50/keys = PackedFloat32Array(0, 1, -0.136442, 0.601968, -0.761522, 0.197743)
tracks/51/type = "position_3d"
tracks/51/imported = true
tracks/51/enabled = true
tracks/51/path = NodePath("Armature/Skeleton3D:BackLeg.IK.R")
tracks/51/interp = 1
tracks/51/loop_wrap = true
tracks/51/keys = PackedFloat32Array(0, 1, -0.737397, 0.515845, -3.26979)
tracks/52/type = "rotation_3d"
tracks/52/imported = true
tracks/52/enabled = true
tracks/52/path = NodePath("Armature/Skeleton3D:BackLeg.IK.R")
tracks/52/interp = 1
tracks/52/loop_wrap = true
tracks/52/keys = PackedFloat32Array(0, 1, -0.707107, 0, 0, 0.707107)
tracks/53/type = "scale_3d"
tracks/53/imported = true
tracks/53/enabled = true
tracks/53/path = NodePath("Armature/Skeleton3D:BackLeg.IK.R")
tracks/53/interp = 1
tracks/53/loop_wrap = true
tracks/53/keys = PackedFloat32Array(0, 1, 1, 1, 1)
tracks/54/type = "position_3d"
tracks/54/imported = true
tracks/54/enabled = true
tracks/54/path = NodePath("Armature/Skeleton3D:BackLeg.R.003")
tracks/54/interp = 1
tracks/54/loop_wrap = true
tracks/54/keys = PackedFloat32Array(0, 1, 3.2303e-07, 2.28217e-07, -7.45868e-09)
tracks/55/type = "value"
tracks/55/imported = false
tracks/55/enabled = true
tracks/55/path = NodePath("Armature/Skeleton3D/LookIK:active")
tracks/55/interp = 1
tracks/55/loop_wrap = true
tracks/55/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/56/type = "value"
tracks/56/imported = false
tracks/56/enabled = true
tracks/56/path = NodePath("SpawnDebris:emitting")
tracks/56/interp = 1
tracks/56/loop_wrap = true
tracks/56/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/57/type = "value"
tracks/57/imported = false
tracks/57/enabled = true
tracks/57/path = NodePath("SpawnDebris:amount_ratio")
tracks/57/interp = 1
tracks/57/loop_wrap = true
tracks/57/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/58/type = "value"
tracks/58/imported = false
tracks/58/enabled = true
tracks/58/path = NodePath("Armature/Skeleton3D/LookIK:influence")
tracks/58/interp = 1
tracks/58/loop_wrap = true
tracks/58/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}

View File

@ -388,3 +388,68 @@ tracks/54/path = NodePath("Armature/Skeleton3D:BackLeg.R.003")
tracks/54/interp = 1 tracks/54/interp = 1
tracks/54/loop_wrap = true tracks/54/loop_wrap = true
tracks/54/keys = PackedFloat32Array(0, 1, -0.0496203, -1.27836, 0.204944, 0.0333333, 1, -0.0488167, -1.23996, 0.193489, 0.0666667, 1, -0.0480183, -1.20271, 0.183084, 0.1, 1, -0.0472272, -1.16667, 0.173693, 0.133333, 1, -0.0464457, -1.1319, 0.165278, 0.166667, 1, -0.0456765, -1.09846, 0.157801, 0.2, 1, -0.0449288, -1.06691, 0.151501, 0.233333, 1, -0.044202, -1.03687, 0.146025, 0.266667, 1, -0.0434993, -1.0084, 0.141337, 0.3, 1, -0.0428236, -0.981546, 0.137401, 0.333333, 1, -0.042178, -0.956374, 0.134181, 0.366667, 1, -0.0415798, -0.933543, 0.131848, 0.4, 1, -0.0410218, -0.912542, 0.130135, 0.433333, 1, -0.0405071, -0.893418, 0.129014, 0.466667, 1, -0.0400391, -0.876213, 0.128457, 0.5, 1, -0.0396205, -0.860968, 0.128438, 0.533333, 1, -0.0367713, -0.765834, 0.113114, 0.566667, 1, -0.0326206, -0.642091, 0.0919388, 0.6, 1, -0.0269075, -0.493301, 0.0675441, 0.633333, 1, -0.0192713, -0.323326, 0.0420446, 0.666667, 1, -0.00925155, -0.136328, 0.0170374, 0.7, 1, -0.00185083, -0.0272657, 0.00340773, 0.733333, 1, 2.06157e-08, -1.37074e-07, -1.14356e-07, 1.2, 1, 5.5092e-07, 2.27257e-07, 7.96624e-07, 1.23333, 1, -0.00206849, 0.0030257, 0.0410133, 1.26667, 1, -0.00812249, 0.00660611, 0.0880201, 1.3, 1, -0.014432, 0.00940907, 0.122081, 1.33333, 1, -0.0116227, 0.0112405, 0.140336, 1.36667, 1, -0.0132816, 0.0134474, 0.157936, 1.4, 1, -0.00376691, 0.0154305, 0.169257, 1.43333, 1, -0.00419291, 0.0179255, 0.179825, 1.46667, 1, -0.0141996, 0.0209701, 0.189928, 1.5, 1, -0.0119528, 0.0239034, 0.194614, 1.53333, 1, -0.0221154, 0.0285996, 0.203282, 1.56667, 1, -0.013389, 0.0318842, 0.201547, 1.6, 1, -0.00677657, 0.0358443, 0.199007, 1.63333, 1, -0.00896175, 0.041254, 0.198976, 1.66667, 1, -0.0123095, 0.0475746, 0.198489, 1.7, 1, -0.0261133, 0.0580265, 0.203768, 1.73333, 1, -0.014658, 0.0638095, 0.196893, 1.76667, 1, -0.00834646, 0.0722364, 0.191546, 1.8, 1, -0.0168137, 0.0868754, 0.193435, 1.83333, 1, -0.0289263, 0.10755, 0.200293, 1.86667, 1, -0.0172622, 0.126478, 0.201921, 1.9, 1, -0.0193226, 0.180384, 0.248476, 1.93333, 1, -0.0193552, 0.202186, 0.266846, 1.96667, 1, -0.0140786, 0.156657, 0.221704, 2, 1, -0.0126816, 0.0404308, 0.115513, 2.03333, 1, -0.0227086, 0.0989505, 0.301314, 2.06667, 1, -0.0317241, 0.145776, 0.427673, 2.1, 1, -0.0366507, 0.183559, 0.501759, 2.13333, 1, -0.0370858, 0.213122, 0.531319, 2.16667, 1, -0.0353017, 0.233457, 0.524679, 2.2, 1, -0.0319404, 0.238321, 0.483517, 2.23333, 1, -0.0281217, 0.230404, 0.425669, 2.26667, 1, -0.024134, 0.210344, 0.356807, 2.3, 1, -0.0198152, 0.1773, 0.278196, 2.33333, 1, -0.0145531, 0.128952, 0.186699, 2.36667, 1, -0.00614444, 0.0530688, 0.0732658, 2.4, 1, -0.00161688, 0.0136395, 0.0179628, 2.43333, 1, -9.05067e-08, 5.26821e-07, -2.1652e-08, 3.75, 1, 3.2303e-07, 2.28217e-07, -7.45868e-09) tracks/54/keys = PackedFloat32Array(0, 1, -0.0496203, -1.27836, 0.204944, 0.0333333, 1, -0.0488167, -1.23996, 0.193489, 0.0666667, 1, -0.0480183, -1.20271, 0.183084, 0.1, 1, -0.0472272, -1.16667, 0.173693, 0.133333, 1, -0.0464457, -1.1319, 0.165278, 0.166667, 1, -0.0456765, -1.09846, 0.157801, 0.2, 1, -0.0449288, -1.06691, 0.151501, 0.233333, 1, -0.044202, -1.03687, 0.146025, 0.266667, 1, -0.0434993, -1.0084, 0.141337, 0.3, 1, -0.0428236, -0.981546, 0.137401, 0.333333, 1, -0.042178, -0.956374, 0.134181, 0.366667, 1, -0.0415798, -0.933543, 0.131848, 0.4, 1, -0.0410218, -0.912542, 0.130135, 0.433333, 1, -0.0405071, -0.893418, 0.129014, 0.466667, 1, -0.0400391, -0.876213, 0.128457, 0.5, 1, -0.0396205, -0.860968, 0.128438, 0.533333, 1, -0.0367713, -0.765834, 0.113114, 0.566667, 1, -0.0326206, -0.642091, 0.0919388, 0.6, 1, -0.0269075, -0.493301, 0.0675441, 0.633333, 1, -0.0192713, -0.323326, 0.0420446, 0.666667, 1, -0.00925155, -0.136328, 0.0170374, 0.7, 1, -0.00185083, -0.0272657, 0.00340773, 0.733333, 1, 2.06157e-08, -1.37074e-07, -1.14356e-07, 1.2, 1, 5.5092e-07, 2.27257e-07, 7.96624e-07, 1.23333, 1, -0.00206849, 0.0030257, 0.0410133, 1.26667, 1, -0.00812249, 0.00660611, 0.0880201, 1.3, 1, -0.014432, 0.00940907, 0.122081, 1.33333, 1, -0.0116227, 0.0112405, 0.140336, 1.36667, 1, -0.0132816, 0.0134474, 0.157936, 1.4, 1, -0.00376691, 0.0154305, 0.169257, 1.43333, 1, -0.00419291, 0.0179255, 0.179825, 1.46667, 1, -0.0141996, 0.0209701, 0.189928, 1.5, 1, -0.0119528, 0.0239034, 0.194614, 1.53333, 1, -0.0221154, 0.0285996, 0.203282, 1.56667, 1, -0.013389, 0.0318842, 0.201547, 1.6, 1, -0.00677657, 0.0358443, 0.199007, 1.63333, 1, -0.00896175, 0.041254, 0.198976, 1.66667, 1, -0.0123095, 0.0475746, 0.198489, 1.7, 1, -0.0261133, 0.0580265, 0.203768, 1.73333, 1, -0.014658, 0.0638095, 0.196893, 1.76667, 1, -0.00834646, 0.0722364, 0.191546, 1.8, 1, -0.0168137, 0.0868754, 0.193435, 1.83333, 1, -0.0289263, 0.10755, 0.200293, 1.86667, 1, -0.0172622, 0.126478, 0.201921, 1.9, 1, -0.0193226, 0.180384, 0.248476, 1.93333, 1, -0.0193552, 0.202186, 0.266846, 1.96667, 1, -0.0140786, 0.156657, 0.221704, 2, 1, -0.0126816, 0.0404308, 0.115513, 2.03333, 1, -0.0227086, 0.0989505, 0.301314, 2.06667, 1, -0.0317241, 0.145776, 0.427673, 2.1, 1, -0.0366507, 0.183559, 0.501759, 2.13333, 1, -0.0370858, 0.213122, 0.531319, 2.16667, 1, -0.0353017, 0.233457, 0.524679, 2.2, 1, -0.0319404, 0.238321, 0.483517, 2.23333, 1, -0.0281217, 0.230404, 0.425669, 2.26667, 1, -0.024134, 0.210344, 0.356807, 2.3, 1, -0.0198152, 0.1773, 0.278196, 2.33333, 1, -0.0145531, 0.128952, 0.186699, 2.36667, 1, -0.00614444, 0.0530688, 0.0732658, 2.4, 1, -0.00161688, 0.0136395, 0.0179628, 2.43333, 1, -9.05067e-08, 5.26821e-07, -2.1652e-08, 3.75, 1, 3.2303e-07, 2.28217e-07, -7.45868e-09)
tracks/55/type = "method"
tracks/55/imported = false
tracks/55/enabled = true
tracks/55/path = NodePath(".")
tracks/55/interp = 1
tracks/55/loop_wrap = true
tracks/55/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
"method": &"_start_player_rumble"
}, {
"args": [],
"method": &"_end_player_rumble"
}]
}
tracks/56/type = "value"
tracks/56/imported = false
tracks/56/enabled = true
tracks/56/path = NodePath("Armature/Skeleton3D/LookIK:active")
tracks/56/interp = 1
tracks/56/loop_wrap = true
tracks/56/keys = {
"times": PackedFloat32Array(0, 2.5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/57/type = "value"
tracks/57/imported = false
tracks/57/enabled = true
tracks/57/path = NodePath("SpawnDebris:emitting")
tracks/57/interp = 1
tracks/57/loop_wrap = true
tracks/57/keys = {
"times": PackedFloat32Array(0, 2.5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/58/type = "value"
tracks/58/imported = false
tracks/58/enabled = true
tracks/58/path = NodePath("SpawnDebris:amount_ratio")
tracks/58/interp = 1
tracks/58/loop_wrap = true
tracks/58/keys = {
"times": PackedFloat32Array(0, 0.1, 1.8, 2.5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0, 0.0]
}
tracks/59/type = "value"
tracks/59/imported = false
tracks/59/enabled = true
tracks/59/path = NodePath("Armature/Skeleton3D/LookIK:influence")
tracks/59/interp = 1
tracks/59/loop_wrap = true
tracks/59/keys = {
"times": PackedFloat32Array(2.5, 3.73333),
"transitions": PackedFloat32Array(1.618, 1),
"update": 0,
"values": [0.0, 1.0]
}

File diff suppressed because it is too large Load Diff

View File

@ -369,7 +369,7 @@ environment = ExtResource("24_ibsng")
[node name="PostProcessing" parent="." instance=ExtResource("25_hposp")] [node name="PostProcessing" parent="." instance=ExtResource("25_hposp")]
[node name="Player" parent="." instance=ExtResource("26_hposp")] [node name="Player" parent="." instance=ExtResource("26_hposp")]
transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6.9, -1.8, 10.2) transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6, 1.2, 9.3)
godmode = true godmode = true
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] [node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]

View File

@ -1,4 +1,11 @@
[gd_scene load_steps=4 format=3 uid="uid://cf1o33mq2hxjx"] [gd_scene load_steps=6 format=3 uid="uid://cf1o33mq2hxjx"]
[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_s7rwx"] [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_s7rwx"]
lifetime_randomness = 0.71 lifetime_randomness = 0.71
@ -6,6 +13,7 @@ direction = Vector3(0, 1, 0)
initial_velocity_min = 3.0 initial_velocity_min = 3.0
initial_velocity_max = 3.0 initial_velocity_max = 3.0
attractor_interaction_enabled = false attractor_interaction_enabled = false
scale_curve = SubResource("CurveTexture_fabmb")
collision_mode = 1 collision_mode = 1
collision_friction = 1.0 collision_friction = 1.0
collision_bounce = 0.0 collision_bounce = 0.0
@ -24,7 +32,7 @@ particles_anim_loop = false
material = SubResource("StandardMaterial3D_s7rwx") material = SubResource("StandardMaterial3D_s7rwx")
size = Vector2(0.1, 0.1) size = Vector2(0.1, 0.1)
[node name="ArmDebrisEmitter" type="GPUParticles3D"] [node name="GrunkDebris" type="GPUParticles3D"]
process_mode = 3 process_mode = 3
emitting = false emitting = false
lifetime = 2.0 lifetime = 2.0

View File

@ -1,6 +1,12 @@
class_name BeastModel extends Node3D class_name BeastModel extends Node3D
## Abstract base type for beast model controllers. ## Abstract base type for beast model controllers.
signal spawn_animation_finished
func play_spawn_animation() -> void:
pass # Implemented in derived type
func set_target_rotation(_theta: float) -> void: func set_target_rotation(_theta: float) -> void:
pass # Implemented in derived type pass # Implemented in derived type
@ -8,3 +14,7 @@ func set_target_rotation(_theta: float) -> void:
func set_move_speed(_speed: float) -> void: func set_move_speed(_speed: float) -> void:
pass # Implemented in derived type pass # Implemented in derived type
func _on_spawn_animation_finished() -> void:
spawn_animation_finished.emit()

View File

@ -6,6 +6,7 @@ const STALKING_SOUND_LIMIT := 25.0
#endregion #endregion
#region Exported Properties #region Exported Properties
@export var play_spawn_animation := true
@export var base_speed := 80.0 @export var base_speed := 80.0
@export var pursuit_speed := 360.0 @export var pursuit_speed := 360.0
@ -37,6 +38,11 @@ var traversing_link := false
#region Character Controller #region Character Controller
func _ready() -> void:
if play_spawn_animation:
model.play_spawn_animation()
func is_pursuing() -> bool: func is_pursuing() -> bool:
return blackboard.has_value("pursuit_target") return blackboard.has_value("pursuit_target")

View File

@ -218,7 +218,7 @@ metadata/_custom_type_script = "uid://om57w2acvgb7"
script = ExtResource("11_mbqcc") script = ExtResource("11_mbqcc")
mean_time = 4.0 mean_time = 4.0
st_dev_time = 0.6 st_dev_time = 0.6
wait_time = 3.67051 wait_time = 4.75226
metadata/_custom_type_script = "uid://beyk2xtbjrsg4" metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
[node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"] [node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"]
@ -264,7 +264,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x"
script = ExtResource("11_mbqcc") script = ExtResource("11_mbqcc")
mean_time = 5.0 mean_time = 5.0
st_dev_time = 1.0 st_dev_time = 1.0
wait_time = 4.46939 wait_time = 5.43146
metadata/_custom_type_script = "uid://beyk2xtbjrsg4" metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
[node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"] [node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"]

View File

@ -3,6 +3,7 @@ class_name Shambler extends BeastModel
const LOOK_TARGET_ACCELERATION := 12.0 const LOOK_TARGET_ACCELERATION := 12.0
const BLEND_ACCELERATION := 6.0 const BLEND_ACCELERATION := 6.0
const SPAWN_RUMBLE := 0.05
@export var time_scale_factor := 4.0 @export var time_scale_factor := 4.0
@export var idle_blend_curve: Curve @export var idle_blend_curve: Curve
@ -28,6 +29,24 @@ func _ready() -> void:
_update_transform() _update_transform()
func play_spawn_animation() -> void:
animation_tree["parameters/emerge_floor_trigger/request"] = (
AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE
)
func _start_player_rumble() -> void:
# TODO this is awful. Integrate PhantomCamera or similar
if Player.instance:
create_tween().tween_property(Player.instance, "camera_rumble", SPAWN_RUMBLE, 0.1)
func _end_player_rumble() -> void:
# TODO ditto
if Player.instance:
create_tween().tween_property(Player.instance, "camera_rumble", 0.0, 0.4)
func set_target_rotation(theta: float) -> void: func set_target_rotation(theta: float) -> void:
target_theta = theta target_theta = theta

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=3 uid="uid://brrd33217oplv"] [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="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="Material" uid="uid://7xrgrvf3lymv" path="res://assets/npc/shambler/shambler.material" id="2_nayyt"]
@ -56,7 +56,6 @@ animation = &"walk_front"
animation = &"walk_rear" animation = &"walk_rear"
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nayyt"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nayyt"]
graph_offset = Vector2(-1225.38, 46.1403)
nodes/anim_scale/node = SubResource("AnimationNodeTimeScale_s7rwx") nodes/anim_scale/node = SubResource("AnimationNodeTimeScale_s7rwx")
nodes/anim_scale/position = Vector2(280, 140) nodes/anim_scale/position = Vector2(280, 140)
nodes/emerge_floor/node = SubResource("AnimationNodeAnimation_vmxrd") nodes/emerge_floor/node = SubResource("AnimationNodeAnimation_vmxrd")
@ -82,6 +81,25 @@ node_connections = [&"anim_scale", 0, &"emerge_floor_trigger", &"emerge_floor_tr
[sub_resource type="SphereMesh" id="SphereMesh_s7rwx"] [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")] [node name="Shambler" instance=ExtResource("1_uiw1a")]
script = ExtResource("2_s7rwx") script = ExtResource("2_s7rwx")
idle_blend_curve = SubResource("Curve_s7rwx") idle_blend_curve = SubResource("Curve_s7rwx")
@ -95,6 +113,54 @@ unique_name_in_owner = true
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
top_level = true 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"] [node name="Shambler" parent="Armature/Skeleton3D" index="0"]
surface_material_override/0 = ExtResource("2_nayyt") surface_material_override/0 = ExtResource("2_nayyt")
@ -111,7 +177,7 @@ primary_limit_angle = 1.5708
primary_damp_threshold = 0.7 primary_damp_threshold = 0.7
[node name="SleeveL" type="BoneAttachment3D" parent="Armature/Skeleton3D" index="2"] [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) 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_name = "Sleeve.L"
bone_idx = 27 bone_idx = 27
@ -122,7 +188,7 @@ particle_scene = ExtResource("5_lqi3b")
metadata/_custom_type_script = "uid://cuqr167olan8n" metadata/_custom_type_script = "uid://cuqr167olan8n"
[node name="SleeveR" type="BoneAttachment3D" parent="Armature/Skeleton3D" index="3"] [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) 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_name = "Sleeve.R"
bone_idx = 31 bone_idx = 31
@ -162,3 +228,13 @@ mesh = SubResource("SphereMesh_s7rwx")
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="." index="4"] [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="." index="4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.25, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.25, 0)
size = Vector3(6, 0.5, 6) 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")