Compare commits

1 Commits

Author SHA1 Message Date
Morph01
4fd60e7874 bug animation ??? 2024-08-16 14:19:29 +02:00
10 changed files with 127 additions and 322 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=3 uid="uid://bjuf33f7oteit"]
[gd_scene load_steps=22 format=3 uid="uid://bjuf33f7oteit"]
[ext_resource type="Texture2D" uid="uid://yrlrk74j3no" path="res://Assets/Models/Characters/zombie_mremireh_body__diffuse.png" id="1_xkx2p"]
[ext_resource type="Texture2D" uid="uid://byrx1euloda3v" path="res://Assets/Models/Characters/zombie_mremireh_body_normal.png" id="2_0tyam"]
@@ -264,7 +264,6 @@ height = 63.798
[sub_resource type="Animation" id="Animation_miu52"]
resource_name = "Attack"
length = 1.66667
step = 0.001
tracks/0/type = "position_3d"
tracks/0/imported = true
tracks/0/enabled = true
@@ -923,32 +922,17 @@ tracks/93/path = NodePath("Armature/Skeleton3D:mixamorig_RightToe_End")
tracks/93/interp = 1
tracks/93/loop_wrap = true
tracks/93/keys = PackedFloat32Array(0, 1, 1.8974e-06, 23.512, -4.82143e-06)
tracks/94/type = "method"
tracks/94/imported = false
tracks/94/enabled = true
tracks/94/path = NodePath(".")
tracks/94/interp = 1
tracks/94/loop_wrap = true
tracks/94/keys = {
"times": PackedFloat32Array(0.715),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"hit_finished"
}]
}
[sub_resource type="Animation" id="Animation_d74yk"]
resource_name = "Run"
length = 0.833333
loop_mode = 1
tracks/0/type = "position_3d"
tracks/0/imported = true
tracks/0/enabled = true
tracks/0/path = NodePath("Armature/Skeleton3D:mixamorig_Hips")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array()
tracks/0/keys = PackedFloat32Array(0, 1, 0.310187, 0.431141, -82.5511, 0.0333333, 1, 0.310187, 0.431141, -82.5511, 0.1, 1, 0.041069, 19.8291, -85.0267, 0.133333, 1, 0.315787, 29.9307, -86.4865, 0.166667, 1, 0.835547, 40.596, -87.764, 0.233333, 1, 2.29955, 63.0865, -88.0245, 0.266667, 1, 3.08551, 74.0086, -86.8309, 0.3, 1, 4.04147, 84.4496, -85.3345, 0.333333, 1, 5.07997, 94.5638, -83.866, 0.4, 1, 6.89629, 113.231, -81.6204, 0.433333, 1, 7.43844, 122.199, -81.6417, 0.466667, 1, 7.84923, 131.364, -82.3004, 0.5, 1, 7.9901, 140.685, -83.4732, 0.533333, 1, 7.87081, 150.379, -85.0423, 0.566667, 1, 7.50921, 160.65, -86.4108, 0.6, 1, 6.79723, 171.523, -87.015, 0.666667, 1, 4.76504, 193.589, -85.0764, 0.7, 1, 3.45552, 204.208, -83.5468, 0.733333, 1, 2.18536, 214.548, -82.2421, 0.766667, 1, 1.28477, 224.414, -81.7456, 0.8, 1, 0.631263, 234.096, -81.867, 0.833333, 1, 0.309494, 243.637, -82.5516)
tracks/1/type = "rotation_3d"
tracks/1/imported = true
tracks/1/enabled = true
@@ -1603,7 +1587,7 @@ tracks/93/keys = PackedFloat32Array(0, 1, -2.47227e-06, 23.512, -5.11851e-06)
[sub_resource type="Animation" id="Animation_xpks3"]
resource_name = "StandUp"
length = 4.0
length = 6.03333
tracks/0/type = "position_3d"
tracks/0/imported = true
tracks/0/enabled = true
@@ -2262,18 +2246,6 @@ tracks/93/path = NodePath("Armature/Skeleton3D:mixamorig_RightToe_End")
tracks/93/interp = 1
tracks/93/loop_wrap = true
tracks/93/keys = PackedFloat32Array(0, 1, 1.8974e-06, 23.512, -4.82143e-06)
tracks/94/type = "value"
tracks/94/imported = false
tracks/94/enabled = true
tracks/94/path = NodePath("Armature:position")
tracks/94/interp = 1
tracks/94/loop_wrap = true
tracks/94/keys = {
"times": PackedFloat32Array(0, 1.6),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, -0.5, 0), Vector3(0, 0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_53ffe"]
_data = {
@@ -2286,91 +2258,64 @@ _data = {
radius = 0.4
height = 1.9
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jonj8"]
animation = &"Attack"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_30aa1"]
animation = &"Run"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6thgc"]
animation = &"StandUp"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0aqh6"]
xfade_time = 0.2
advance_mode = 2
advance_condition = &"attack"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_r4c6y"]
xfade_time = 0.2
switch_mode = 2
advance_mode = 2
advance_condition = &"run"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_s6wne"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oq5yv"]
xfade_time = 0.2
switch_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kxil8"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_v7c1i"]
states/Attack/node = SubResource("AnimationNodeAnimation_jonj8")
states/Attack/position = Vector2(456, 100)
states/Run/node = SubResource("AnimationNodeAnimation_30aa1")
states/Run/position = Vector2(332, 100)
states/StandUp/node = SubResource("AnimationNodeAnimation_6thgc")
states/StandUp/position = Vector2(192, 100)
states/Start/position = Vector2(60, 100)
transitions = ["Run", "Attack", SubResource("AnimationNodeStateMachineTransition_0aqh6"), "Attack", "Run", SubResource("AnimationNodeStateMachineTransition_r4c6y"), "Start", "StandUp", SubResource("AnimationNodeStateMachineTransition_s6wne"), "StandUp", "Run", SubResource("AnimationNodeStateMachineTransition_oq5yv")]
states/Run/position = Vector2(312, 109)
transitions = ["Start", "Run", SubResource("AnimationNodeStateMachineTransition_kxil8")]
[node name="zombie" type="Zombie"]
[node name="Armature" type="Node3D" parent="."]
transform = Transform3D(-0.01, -8.74228e-10, 3.82137e-17, 0, -4.37114e-10, -0.01, 8.74228e-10, -0.01, 4.37114e-10, 0, -0.317449, 0)
transform = Transform3D(-0.01, -8.74228e-10, 3.82137e-17, 0, -4.37114e-10, -0.01, 8.74228e-10, -0.01, 4.37114e-10, 0, 0, 0)
[node name="Skeleton3D" type="Skeleton3D" parent="Armature"]
bones/0/name = "mixamorig_Hips"
bones/0/parent = -1
bones/0/rest = Transform3D(1, -1.64104e-06, -1.23603e-07, 1.23603e-07, 0, 1, -1.64104e-06, -1, 0, -0.0301997, 0.410377, -103.255)
bones/0/enabled = true
bones/0/position = Vector3(-21.0628, 118.124, -12.4199)
bones/0/rotation = Quaternion(0.0218933, -0.115578, 0.0972942, 0.988279)
bones/0/position = Vector3(0.310187, 0.431141, -82.5511)
bones/0/rotation = Quaternion(-0.72332, -0.00243253, 0.021771, 0.690166)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "mixamorig_Spine"
bones/1/parent = 0
bones/1/rest = Transform3D(1, 1.64209e-06, 1.08946e-07, -1.64105e-06, 0.99996, -0.0089287, -1.23603e-07, 0.0089287, 0.99996, -0.0024263, 12.7776, 0.315252)
bones/1/enabled = true
bones/1/position = Vector3(-0.0024263, 12.7776, 0.315252)
bones/1/rotation = Quaternion(0.0325627, 0.018889, 0.104853, 0.993775)
bones/1/position = Vector3(-0.00242631, 12.7775, 0.315252)
bones/1/rotation = Quaternion(0.351657, -0.00792476, 0.0777737, 0.932859)
bones/1/scale = Vector3(1, 1, 1)
bones/2/name = "mixamorig_Spine1"
bones/2/parent = 1
bones/2/rest = Transform3D(1, -8.12885e-12, -3.90108e-14, 8.12895e-12, 0.999989, 0.0046898, 8.87653e-16, -0.0046898, 0.999989, 2.71058e-09, 8.79264, 1.49012e-07)
bones/2/enabled = true
bones/2/position = Vector3(2.71058e-09, 8.79264, 1.49012e-07)
bones/2/rotation = Quaternion(0.00429218, 0.00868345, 0.0144037, 0.999849)
bones/2/rotation = Quaternion(0.0615718, -0.0110645, 0.0181263, 0.997877)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "mixamorig_Spine2"
bones/3/parent = 2
bones/3/rest = Transform3D(1, -3.75935e-18, -2.14464e-21, 3.75932e-18, 0.999991, 0.00423897, -1.37911e-20, -0.00423897, 0.999991, 2.498e-16, 8.65112, -5.96046e-08)
bones/3/enabled = true
bones/3/position = Vector3(2.498e-16, 8.65112, -5.96046e-08)
bones/3/rotation = Quaternion(0.00546575, 0.00783817, 0.0140679, 0.999855)
bones/3/rotation = Quaternion(0.0622219, -0.010082, 0.0165404, 0.997874)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "mixamorig_Neck"
bones/4/parent = 3
bones/4/rest = Transform3D(1, -6.70873e-21, -7.44903e-23, 6.70874e-21, 1, 1.98848e-08, 7.44902e-23, -1.98848e-08, 1, -3.72529e-09, 21.2425, -0.842534)
bones/4/enabled = true
bones/4/position = Vector3(-3.72529e-09, 21.2425, -0.842534)
bones/4/rotation = Quaternion(0.0490221, -0.0837083, 0.0119374, 0.995212)
bones/4/position = Vector3(-3.34159e-06, 21.2425, -0.842529)
bones/4/rotation = Quaternion(-0.0505679, 0.0238406, -0.0190878, 0.998254)
bones/4/scale = Vector3(1, 1, 1)
bones/5/name = "mixamorig_Head"
bones/5/parent = 4
bones/5/rest = Transform3D(1, -6.68473e-21, 3.2708e-23, 6.68473e-21, 1, 0, -3.2708e-23, 0, 1, 4.28824e-15, 20.4181, 4.8338)
bones/5/enabled = true
bones/5/position = Vector3(4.28824e-15, 20.4181, 4.8338)
bones/5/rotation = Quaternion(-0.00611666, -0.444544, 0.132006, 0.885956)
bones/5/rotation = Quaternion(-0.310126, 0.129469, -0.0897227, 0.937555)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "mixamorig_HeadTop_End"
bones/6/parent = 5
@@ -2398,195 +2343,195 @@ bones/9/parent = 3
bones/9/rest = Transform3D(-0.0117089, 0.982404, -0.1864, 0.00222149, -0.186386, -0.982474, -0.999929, -0.0119177, 0, 6.57015, 17.5956, -2.76176)
bones/9/enabled = true
bones/9/position = Vector3(6.57023, 17.5956, -2.76177)
bones/9/rotation = Quaternion(-0.582228, -0.429761, 0.543818, -0.424945)
bones/9/rotation = Quaternion(-0.579999, -0.420144, 0.575252, -0.395177)
bones/9/scale = Vector3(1, 1, 1)
bones/10/name = "mixamorig_LeftArm"
bones/10/parent = 9
bones/10/rest = Transform3D(0.999929, -0.011709, -0.00222139, 0.0119178, 0.982404, 0.186385, -8.03266e-08, -0.186399, 0.982474, -4.47035e-08, 12.1385, 5.01977e-06)
bones/10/enabled = true
bones/10/position = Vector3(4.70413e-06, 12.1385, -3.28595e-05)
bones/10/rotation = Quaternion(-0.0315218, -0.502754, -0.118988, 0.855621)
bones/10/position = Vector3(8.15145e-06, 12.1385, -2.43421e-06)
bones/10/rotation = Quaternion(0.155181, -0.0431495, 0.261516, 0.951665)
bones/10/scale = Vector3(1, 1, 1)
bones/11/name = "mixamorig_LeftForeArm"
bones/11/parent = 10
bones/11/rest = Transform3D(1, 9.44764e-09, -8.19156e-09, -9.44763e-09, 1, 8.04663e-07, 8.19157e-09, -8.04663e-07, 1, 1.05432e-07, 18.4696, 1.60245e-05)
bones/11/enabled = true
bones/11/position = Vector3(-2.09953e-05, 18.4696, 1.20081e-05)
bones/11/rotation = Quaternion(-3.83984e-07, 1.06433e-07, 0.245779, 0.969326)
bones/11/position = Vector3(3.94925e-06, 18.4696, -6.70776e-06)
bones/11/rotation = Quaternion(-5.3325e-07, 1.13099e-07, 0.252679, 0.96755)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "mixamorig_LeftHand"
bones/12/parent = 11
bones/12/rest = Transform3D(1, -8.07957e-09, 8.07957e-09, 8.07957e-09, 1, -5.6028e-14, -8.07957e-09, 5.60933e-14, 1, 2.0646e-07, 29.5088, 1.52078e-05)
bones/12/enabled = true
bones/12/position = Vector3(-1.12085e-05, 29.5088, -1.80238e-06)
bones/12/rotation = Quaternion(-0.188172, -0.429154, -0.104744, 0.877181)
bones/12/position = Vector3(5.71921e-06, 29.5088, -7.52443e-06)
bones/12/rotation = Quaternion(0.00425196, -0.455129, 0.103903, 0.884332)
bones/12/scale = Vector3(1, 1, 1)
bones/13/name = "mixamorig_LeftHandThumb1"
bones/13/parent = 12
bones/13/rest = Transform3D(0.859298, -0.448859, 0.245218, 0.510972, 0.774612, -0.372671, -0.0226725, 0.445535, 0.894977, -9.22388, 10.7665, 2.38609)
bones/13/enabled = true
bones/13/position = Vector3(-9.22385, 10.7665, 2.38621)
bones/13/rotation = Quaternion(0.167938, 0.066985, 0.222178, 0.958096)
bones/13/position = Vector3(-9.22385, 10.7665, 2.38622)
bones/13/rotation = Quaternion(0.136531, 0.0295366, 0.369784, 0.918557)
bones/13/scale = Vector3(1, 1, 1)
bones/14/name = "mixamorig_LeftHandThumb2"
bones/14/parent = 13
bones/14/rest = Transform3D(1, -7.42262e-07, 1.21445e-06, 7.42266e-07, 1, -2.8573e-06, -1.21444e-06, 2.8573e-06, 1, -1.43051e-06, 6.33226, 1.07288e-05)
bones/14/enabled = true
bones/14/position = Vector3(-1.31428e-05, 6.33228, -1.54967e-06)
bones/14/rotation = Quaternion(0.0117143, -1.32336e-05, -0.0769527, 0.996966)
bones/14/position = Vector3(1.90736e-06, 6.33226, 8.82147e-06)
bones/14/rotation = Quaternion(0.0175775, 0.0367139, -0.256684, 0.965638)
bones/14/scale = Vector3(1, 1, 1)
bones/15/name = "mixamorig_LeftHandThumb3"
bones/15/parent = 14
bones/15/rest = Transform3D(1, 1.06543e-06, -1.90269e-06, -1.06543e-06, 1, 5.96057e-08, 1.90269e-06, -5.96036e-08, 1, -1.19209e-06, 5.98994, -1.12057e-05)
bones/15/enabled = true
bones/15/position = Vector3(1.39474e-05, 5.98993, -1.37087e-06)
bones/15/rotation = Quaternion(-0.0210812, -7.80055e-06, -0.0160719, 0.999649)
bones/15/position = Vector3(-1.16826e-05, 5.98994, 5.72204e-06)
bones/15/rotation = Quaternion(-0.0158626, 0.019129, -0.10682, 0.993968)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "mixamorig_LeftHandThumb4"
bones/16/parent = 15
bones/16/rest = Transform3D(1, -2.02284e-06, 3.51015e-06, 2.02283e-06, 1, 2.30968e-06, -3.51016e-06, -2.30968e-06, 1, -3.8147e-06, 5.74295, -1.74046e-05)
bones/16/enabled = true
bones/16/position = Vector3(-2.10107e-05, 5.74297, -3.57625e-06)
bones/16/position = Vector3(7.15297e-07, 5.74294, 4.29155e-06)
bones/16/rotation = Quaternion(-1.15484e-06, 1.75508e-06, 1.01142e-06, 1)
bones/16/scale = Vector3(1, 1, 1)
bones/17/name = "mixamorig_LeftHandIndex1"
bones/17/parent = 12
bones/17/rest = Transform3D(1, -1.40998e-06, -1.3975e-07, 1.40998e-06, 1, 5.20607e-06, 1.39742e-07, -5.20607e-06, 1, -6.40379, 26.4943, -0.17099)
bones/17/enabled = true
bones/17/position = Vector3(-6.4038, 26.4943, -0.171011)
bones/17/rotation = Quaternion(0.000615164, -1.64396e-07, -6.43586e-05, 1)
bones/17/position = Vector3(-6.40379, 26.4943, -0.171004)
bones/17/rotation = Quaternion(-0.0545965, -6.44228e-07, 0.00659322, 0.998487)
bones/17/scale = Vector3(1, 1, 1)
bones/18/name = "mixamorig_LeftHandIndex2"
bones/18/parent = 17
bones/18/rest = Transform3D(1, -5.7191e-08, 5.71908e-08, 5.71911e-08, 1, -2.17708e-06, -5.71907e-08, 2.17708e-06, 1, 5.78031e-07, 8.79287, 1.14833e-05)
bones/18/enabled = true
bones/18/position = Vector3(1.37331e-05, 8.79288, -1.65009e-05)
bones/18/rotation = Quaternion(5.5406e-05, 7.71484e-08, -6.62781e-06, 1)
bones/18/position = Vector3(5.78031e-07, 8.79287, 1.14833e-05)
bones/18/rotation = Quaternion(0.367124, 4.81139e-08, -0.0442688, 0.929118)
bones/18/scale = Vector3(1, 1, 1)
bones/19/name = "mixamorig_LeftHandIndex3"
bones/19/parent = 18
bones/19/rest = Transform3D(1, -4.73268e-08, 4.73268e-08, 4.73268e-08, 1, -2.3008e-12, -4.73268e-08, 2.30304e-12, 1, -3.4251e-07, 10.0751, -1.18707e-05)
bones/19/enabled = true
bones/19/position = Vector3(-3.2487e-05, 10.0752, 8.78267e-06)
bones/19/position = Vector3(-6.20511e-08, 10.0752, -1.70775e-06)
bones/19/rotation = Quaternion(1.15096e-12, 2.36634e-08, 2.36634e-08, 1)
bones/19/scale = Vector3(1, 1, 1)
bones/20/name = "mixamorig_LeftHandMiddle1"
bones/20/parent = 12
bones/20/rest = Transform3D(1, -2.53799e-07, -1.03828e-07, 2.53798e-07, 1, -4.87293e-06, 1.03829e-07, 4.87293e-06, 1, 0.00151853, 25.7911, 0.0166931)
bones/20/enabled = true
bones/20/position = Vector3(0.00149734, 25.7911, 0.0166703)
bones/20/rotation = Quaternion(0.000475565, -1.46651e-07, -4.72496e-05, 1)
bones/20/position = Vector3(0.00151402, 25.7911, 0.0166754)
bones/20/rotation = Quaternion(-0.059187, -8.42716e-07, 0.00714704, 0.998221)
bones/20/scale = Vector3(1, 1, 1)
bones/21/name = "mixamorig_LeftHandMiddle2"
bones/21/parent = 20
bones/21/rest = Transform3D(1, -2.4022e-06, 1.80303e-08, 2.4022e-06, 1, -7.93205e-07, -1.80284e-08, 7.93205e-07, 1, -1.08228e-07, 9.394, -7.18399e-06)
bones/21/enabled = true
bones/21/position = Vector3(5.40327e-06, 9.39401, 1.20456e-05)
bones/21/rotation = Quaternion(0.000194673, 2.45103e-08, -2.3109e-05, 1)
bones/21/position = Vector3(-2.70298e-06, 9.39401, 1.24638e-07)
bones/21/rotation = Quaternion(0.275704, -1.11487e-08, -0.0332449, 0.960667)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "mixamorig_LeftHandMiddle3"
bones/22/parent = 21
bones/22/rest = Transform3D(1, -4.18437e-12, 4.0143e-12, 4.18436e-12, 1, 4.2496e-06, -4.01432e-12, -4.2496e-06, 1, -6.44814e-08, 10.7719, 3.7958e-06)
bones/22/enabled = true
bones/22/position = Vector3(-6.44814e-08, 10.7719, 3.7958e-06)
bones/22/position = Vector3(-3.66263e-08, 10.7719, -7.49231e-06)
bones/22/rotation = Quaternion(-2.1248e-06, 2.00715e-12, 2.09218e-12, 1)
bones/22/scale = Vector3(1, 1, 1)
bones/23/name = "mixamorig_LeftHandRing1"
bones/23/parent = 12
bones/23/rest = Transform3D(1, -1.82739e-06, -1.99177e-07, 1.82739e-06, 1, 4.87304e-06, 1.99168e-07, -4.87304e-06, 1, 6.22733, 24.6876, -0.127838)
bones/23/enabled = true
bones/23/position = Vector3(6.22732, 24.6876, -0.127856)
bones/23/rotation = Quaternion(0.00061533, -1.96357e-07, -6.41419e-05, 1)
bones/23/position = Vector3(6.22732, 24.6876, -0.127852)
bones/23/rotation = Quaternion(-0.163546, -1.8528e-06, 0.0197307, 0.986338)
bones/23/scale = Vector3(1, 1, 1)
bones/24/name = "mixamorig_LeftHandRing2"
bones/24/parent = 23
bones/24/rest = Transform3D(1, -1.24633e-06, 1.73458e-07, 1.24633e-06, 1, -1.10205e-05, -1.73444e-07, 1.10205e-05, 1, 5.22701e-07, 9.3938, -2.21515e-07)
bones/24/enabled = true
bones/24/position = Vector3(5.22701e-07, 9.3938, -2.21515e-07)
bones/24/rotation = Quaternion(5.4886e-05, 1.24522e-07, -6.93144e-06, 1)
bones/24/rotation = Quaternion(0.27557, 3.24754e-08, -0.0332293, 0.960707)
bones/24/scale = Vector3(1, 1, 1)
bones/25/name = "mixamorig_LeftHandRing3"
bones/25/parent = 24
bones/25/rest = Transform3D(1, 9.60521e-08, -9.60517e-08, -9.60517e-08, 1, 4.61059e-06, 9.60521e-08, -4.61059e-06, 1, 5.94628e-09, 9.92853, 7.30407e-06)
bones/25/enabled = true
bones/25/position = Vector3(-1.59294e-05, 9.92854, -9.23608e-06)
bones/25/position = Vector3(-1.1474e-06, 9.92853, -4.94448e-06)
bones/25/rotation = Quaternion(-2.30529e-06, -4.80259e-08, -4.8026e-08, 1)
bones/25/scale = Vector3(1, 1, 1)
bones/26/name = "mixamorig_LeftHandPinky1"
bones/26/parent = 12
bones/26/rest = Transform3D(1, -1.81111e-06, -2.15452e-07, 1.81111e-06, 1, 1.81111e-06, 2.15449e-07, -1.81111e-06, 1, 12.817, 23.682, -0.108689)
bones/26/enabled = true
bones/26/position = Vector3(12.817, 23.682, -0.108709)
bones/26/rotation = Quaternion(-0.00383334, 2.18464e-05, -0.0354375, 0.999365)
bones/26/position = Vector3(12.817, 23.682, -0.108702)
bones/26/rotation = Quaternion(-0.167829, -0.0058748, -0.0151721, 0.985682)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "mixamorig_LeftHandPinky2"
bones/27/parent = 26
bones/27/rest = Transform3D(1, 5.23462e-07, 3.11004e-07, -5.23463e-07, 1, 1.93477e-06, -3.11003e-07, -1.93477e-06, 1, 5.19565e-07, 8.42511, -8.07793e-06)
bones/27/enabled = true
bones/27/position = Vector3(-1.25561e-05, 8.42512, -4.09331e-06)
bones/27/rotation = Quaternion(0.00450318, 2.11213e-06, 0.0353666, 0.999364)
bones/27/position = Vector3(6.99422e-06, 8.42511, 6.87394e-06)
bones/27/rotation = Quaternion(0.279668, 0.00989573, 0.000775355, 0.960045)
bones/27/scale = Vector3(1, 1, 1)
bones/28/name = "mixamorig_LeftHandPinky3"
bones/28/parent = 27
bones/28/rest = Transform3D(1, 2.34117e-07, -2.34116e-07, -2.34117e-07, 1, 1.72932e-13, 2.34116e-07, -1.18121e-13, 1, -9.38191e-07, 8.14698, 1.93717e-05)
bones/28/enabled = true
bones/28/position = Vector3(1.98415e-05, 8.14697, -3.34651e-06)
bones/28/position = Vector3(4.58276e-06, 8.14697, -7.23905e-07)
bones/28/rotation = Quaternion(-7.27631e-14, -1.17058e-07, -1.17059e-07, 1)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "mixamorig_RightShoulder"
bones/29/parent = 3
bones/29/rest = Transform3D(-0.0117083, -0.982396, 0.186444, -0.00222197, -0.186431, -0.982465, 0.999929, -0.0119172, -1.19209e-07, -6.57016, 17.5959, -2.76177)
bones/29/enabled = true
bones/29/position = Vector3(-6.57023, 17.5958, -2.76177)
bones/29/rotation = Quaternion(0.474124, -0.515141, 0.530316, 0.478123)
bones/29/position = Vector3(-6.57024, 17.5958, -2.76175)
bones/29/rotation = Quaternion(0.568425, -0.426811, 0.574894, 0.405242)
bones/29/scale = Vector3(1, 1, 1)
bones/30/name = "mixamorig_RightArm"
bones/30/parent = 29
bones/30/rest = Transform3D(0.999929, 0.0117084, 0.00222177, -0.0119174, 0.982396, 0.186427, 1.14669e-07, -0.186441, 0.982466, 2.98023e-08, 12.1386, 1.29775e-05)
bones/30/enabled = true
bones/30/position = Vector3(1.88144e-06, 12.1386, 2.57062e-05)
bones/30/rotation = Quaternion(0.593417, -0.219121, 0.132293, 0.763113)
bones/30/position = Vector3(-8.08837e-06, 12.1386, 4.88866e-07)
bones/30/rotation = Quaternion(0.22744, 0.335912, -0.416009, 0.813862)
bones/30/scale = Vector3(1, 1, 1)
bones/31/name = "mixamorig_RightForeArm"
bones/31/parent = 30
bones/31/rest = Transform3D(1, 2.20824e-09, -1.29789e-09, -2.20823e-09, 1, 4.64471e-06, 1.2979e-09, -4.64471e-06, 1, -2.66512e-07, 18.4696, -1.55792e-05)
bones/31/enabled = true
bones/31/position = Vector3(-6.25607e-06, 18.4696, -3.97924e-06)
bones/31/rotation = Quaternion(-1.44008e-06, -1.7512e-06, -0.775136, 0.631794)
bones/31/position = Vector3(-4.14816e-07, 18.4696, -1.2969e-06)
bones/31/rotation = Quaternion(-2.19186e-06, -6.21338e-07, -0.266341, 0.963879)
bones/31/scale = Vector3(1, 1, 1)
bones/32/name = "mixamorig_RightHand"
bones/32/parent = 31
bones/32/rest = Transform3D(1, 3.41881e-08, -3.41881e-08, -3.41882e-08, 1, -1.15386e-06, 3.41881e-08, 1.15386e-06, 1, 1.73907e-07, 29.5089, 3.67749e-06)
bones/32/enabled = true
bones/32/position = Vector3(8.60867e-06, 29.5089, -7.78946e-06)
bones/32/rotation = Quaternion(-0.692315, 0.0108468, -0.144859, 0.706823)
bones/32/position = Vector3(1.03968e-05, 29.5089, 1.38965e-06)
bones/32/rotation = Quaternion(0.0703434, 0.338492, -0.143889, 0.927238)
bones/32/scale = Vector3(1, 1, 1)
bones/33/name = "mixamorig_RightHandThumb1"
bones/33/parent = 32
bones/33/rest = Transform3D(0.860766, 0.448862, -0.240009, -0.508707, 0.774631, -0.375718, 0.0172729, 0.4455, 0.895115, 9.22384, 10.7664, 2.38598)
bones/33/enabled = true
bones/33/position = Vector3(9.22384, 10.7664, 2.38598)
bones/33/rotation = Quaternion(0.16473, -0.0624911, -0.222778, 0.958816)
bones/33/rotation = Quaternion(0.153084, -0.189177, -0.355407, 0.902476)
bones/33/scale = Vector3(1, 1, 1)
bones/34/name = "mixamorig_RightHandThumb2"
bones/34/parent = 33
bones/34/rest = Transform3D(1, 9.78185e-07, 1.58414e-06, -9.78058e-07, 1, -7.96765e-05, -1.58422e-06, 7.96765e-05, 1, 8.13007e-05, 6.33229, 0.000127316)
bones/34/enabled = true
bones/34/position = Vector3(-1.04609e-05, 6.33219, 3.09219e-06)
bones/34/rotation = Quaternion(-0.124418, 0.0151862, 0.1029, 0.986763)
bones/34/position = Vector3(-1.07291e-05, 6.33219, -1.55729e-06)
bones/34/rotation = Quaternion(-0.0528671, 0.0132786, 0.22104, 0.97374)
bones/34/scale = Vector3(1, 1, 1)
bones/35/name = "mixamorig_RightHandThumb3"
bones/35/parent = 34
bones/35/rest = Transform3D(1, 1.58742e-05, -4.17779e-07, -1.58742e-05, 1, -1.017e-05, 4.17617e-07, 1.017e-05, 1, -9.10759e-05, 5.99004, -5.31673e-05)
bones/35/enabled = true
bones/35/position = Vector3(-2.104e-05, 5.99006, 8.10656e-06)
bones/35/rotation = Quaternion(-0.0918432, 0.0129217, 0.0116887, 0.995621)
bones/35/position = Vector3(6.91449e-06, 5.99006, 5.24549e-06)
bones/35/rotation = Quaternion(-0.0547816, 0.00707833, 0.0695897, 0.996045)
bones/35/scale = Vector3(1, 1, 1)
bones/36/name = "mixamorig_RightHandThumb4"
bones/36/parent = 35
bones/36/rest = Transform3D(1, 3.00351e-07, -4.77769e-07, -3.00352e-07, 1, -2.9467e-06, 4.77768e-07, 2.9467e-06, 1, -4.76837e-06, 5.74305, 4.29153e-06)
bones/36/enabled = true
bones/36/position = Vector3(-4.76837e-06, 5.74305, 4.29153e-06)
bones/36/position = Vector3(-1.78814e-06, 5.74305, -1.66892e-06)
bones/36/rotation = Quaternion(1.47335e-06, -2.38884e-07, -1.50176e-07, 1)
bones/36/scale = Vector3(1, 1, 1)
bones/37/name = "mixamorig_RightHandIndex1"
@@ -2594,41 +2539,41 @@ bones/37/parent = 32
bones/37/rest = Transform3D(1, 1.19311e-06, 6.31644e-08, -1.19311e-06, 1, 6.37229e-07, -6.31636e-08, -6.37229e-07, 1, 6.40379, 26.4943, -0.171003)
bones/37/enabled = true
bones/37/position = Vector3(6.40379, 26.4943, -0.171003)
bones/37/rotation = Quaternion(0.000805152, 4.15027e-08, 8.96382e-05, 1)
bones/37/rotation = Quaternion(-0.157254, 1.31876e-06, -0.0191583, 0.987372)
bones/37/scale = Vector3(1, 1, 1)
bones/38/name = "mixamorig_RightHandIndex2"
bones/38/parent = 37
bones/38/rest = Transform3D(1, 7.46894e-08, 9.95477e-08, -7.46894e-08, 1, -4.63684e-10, -9.95477e-08, 4.63676e-10, 1, -1.26993e-07, 8.79249, -1.4677e-05)
bones/38/enabled = true
bones/38/position = Vector3(-1.28424e-05, 8.79251, -8.78218e-07)
bones/38/rotation = Quaternion(5.89851e-06, 4.64316e-08, 6.28334e-07, 1)
bones/38/position = Vector3(5.79147e-06, 8.7925, 4.06897e-06)
bones/38/rotation = Quaternion(0.108441, 3.59547e-08, 0.0132056, 0.994015)
bones/38/scale = Vector3(1, 1, 1)
bones/39/name = "mixamorig_RightHandIndex3"
bones/39/parent = 38
bones/39/rest = Transform3D(1, -5.18639e-14, 1.43493e-14, 5.18639e-14, 1, -2.84719e-15, -1.43493e-14, 2.84719e-15, 1, 4.25038e-07, 10.076, -1.42924e-05)
bones/39/enabled = true
bones/39/position = Vector3(-1.2058e-06, 10.076, -5.08477e-07)
bones/39/position = Vector3(-1.76273e-06, 10.076, 1.06525e-05)
bones/39/rotation = Quaternion(1.4236e-15, 7.17467e-15, 2.59319e-14, 1)
bones/39/scale = Vector3(1, 1, 1)
bones/40/name = "mixamorig_RightHandMiddle1"
bones/40/parent = 32
bones/40/rest = Transform3D(1, -9.95149e-09, 9.94947e-09, 9.95148e-09, 1, 6.36698e-07, -9.94948e-09, -6.36698e-07, 1, -0.00152069, 25.7911, 0.0160086)
bones/40/enabled = true
bones/40/position = Vector3(-0.00151818, 25.7911, 0.0160007)
bones/40/rotation = Quaternion(0.000805153, 1.4506e-08, 8.93651e-05, 1)
bones/40/position = Vector3(-0.00151189, 25.7911, 0.0159954)
bones/40/rotation = Quaternion(-0.175118, 1.49908e-06, -0.0213341, 0.984316)
bones/40/scale = Vector3(1, 1, 1)
bones/41/name = "mixamorig_RightHandMiddle2"
bones/41/parent = 40
bones/41/rest = Transform3D(1, 1.85919e-06, 1.6737e-07, -1.85919e-06, 1, 6.7514e-11, -1.6737e-07, -6.78252e-11, 1, -2.76976e-07, 9.39372, -1.51631e-07)
bones/41/enabled = true
bones/41/position = Vector3(-2.76976e-07, 9.39372, -1.51631e-07)
bones/41/rotation = Quaternion(5.90052e-06, 7.92945e-08, 6.18316e-07, 1)
bones/41/position = Vector3(7.56294e-06, 9.3937, -2.14133e-06)
bones/41/rotation = Quaternion(0.256149, 1.06037e-08, 0.0311934, 0.966134)
bones/41/scale = Vector3(1, 1, 1)
bones/42/name = "mixamorig_RightHandMiddle3"
bones/42/parent = 41
bones/42/rest = Transform3D(1, -1.08381e-13, 6.02937e-15, 1.08381e-13, 1, -9.10323e-17, -6.02937e-15, 9.10323e-17, 1, 3.10938e-07, 10.772, -4.90743e-07)
bones/42/enabled = true
bones/42/position = Vector3(3.24089e-06, 10.772, -2.06321e-06)
bones/42/position = Vector3(-3.7701e-06, 10.772, 2.52635e-06)
bones/42/rotation = Quaternion(4.55162e-17, 3.01469e-15, 5.41904e-14, 1)
bones/42/scale = Vector3(1, 1, 1)
bones/43/name = "mixamorig_RightHandRing1"
@@ -2636,14 +2581,14 @@ bones/43/parent = 32
bones/43/rest = Transform3D(1, 2.13186e-06, 1.4306e-07, -2.13186e-06, 1, 6.36069e-07, -1.43059e-07, -6.3607e-07, 1, -6.22732, 24.6876, -0.128004)
bones/43/enabled = true
bones/43/position = Vector3(-6.22732, 24.6876, -0.128004)
bones/43/rotation = Quaternion(0.000805153, 8.04117e-08, 8.91697e-05, 1)
bones/43/rotation = Quaternion(-0.175118, 1.58778e-06, -0.0213343, 0.984316)
bones/43/scale = Vector3(1, 1, 1)
bones/44/name = "mixamorig_RightHandRing2"
bones/44/parent = 43
bones/44/rest = Transform3D(1, 1.12419e-06, 5.79532e-08, -1.12419e-06, 1, 6.95668e-10, -5.79532e-08, -6.95734e-10, 1, 8.07033e-07, 9.3942, -1.75455e-06)
bones/44/enabled = true
bones/44/position = Vector3(8.07033e-07, 9.3942, -1.75455e-06)
bones/44/rotation = Quaternion(5.89617e-06, 2.91821e-08, 9.78356e-07, 1)
bones/44/position = Vector3(7.68241e-06, 9.3942, -1.25725e-05)
bones/44/rotation = Quaternion(0.256149, 4.57885e-08, 0.0311937, 0.966134)
bones/44/scale = Vector3(1, 1, 1)
bones/45/name = "mixamorig_RightHandRing3"
bones/45/parent = 44
@@ -2657,90 +2602,90 @@ bones/46/parent = 32
bones/46/rest = Transform3D(1, 6.47815e-15, 9.94947e-09, -1.28132e-14, 1, 6.36719e-07, -9.94947e-09, -6.36719e-07, 1, -12.817, 23.682, -0.109006)
bones/46/enabled = true
bones/46/position = Vector3(-12.817, 23.682, -0.109006)
bones/46/rotation = Quaternion(0.000805153, 1.4502e-08, 8.93564e-05, 1)
bones/46/rotation = Quaternion(-0.175118, 1.4999e-06, -0.0213341, 0.984316)
bones/46/scale = Vector3(1, 1, 1)
bones/47/name = "mixamorig_RightHandPinky2"
bones/47/parent = 46
bones/47/rest = Transform3D(1, -9.9495e-09, 1.99446e-15, 9.9495e-09, 1, 4.67832e-11, -1.99492e-15, -4.67832e-11, 1, -6.22665e-08, 8.42509, -1.63054e-05)
bones/47/enabled = true
bones/47/position = Vector3(-8.14846e-07, 8.42511, -1.11513e-06)
bones/47/rotation = Quaternion(5.90162e-06, -4.50426e-09, 6.78176e-07, 1)
bones/47/position = Vector3(-3.67587e-06, 8.4251, 2.93799e-06)
bones/47/rotation = Quaternion(0.256149, -5.83201e-08, 0.0311934, 0.966134)
bones/47/scale = Vector3(1, 1, 1)
bones/48/name = "mixamorig_RightHandPinky3"
bones/48/parent = 47
bones/48/rest = Transform3D(1, 1.56398e-15, 1.77636e-15, -1.56398e-15, 1, -7.94362e-16, -1.77636e-15, 7.94362e-16, 1, -3.47882e-08, 8.1467, -1.63008e-05)
bones/48/enabled = true
bones/48/position = Vector3(-9.54925e-06, 8.14671, 8.1578e-08)
bones/48/position = Vector3(2.07366e-06, 8.1467, -6.59414e-06)
bones/48/rotation = Quaternion(3.97181e-16, 8.88179e-16, -7.81991e-16, 1)
bones/48/scale = Vector3(1, 1, 1)
bones/49/name = "mixamorig_LeftUpLeg"
bones/49/parent = 0
bones/49/rest = Transform3D(-1, -1.61224e-06, 4.29343e-08, 1.60665e-06, -0.993503, 0.113804, -1.40823e-07, 0.113804, 0.993502, 11.3941, -6.1878, -0.41386)
bones/49/enabled = true
bones/49/position = Vector3(11.3941, -6.18783, -0.413817)
bones/49/rotation = Quaternion(0.408146, 0.151195, 0.900072, -0.0206657)
bones/49/position = Vector3(11.3941, -6.18784, -0.413819)
bones/49/rotation = Quaternion(0.0412334, 0.556037, 0.827264, -0.0689679)
bones/49/scale = Vector3(1, 1, 0.999998)
bones/50/name = "mixamorig_LeftLeg"
bones/50/parent = 49
bones/50/rest = Transform3D(1, 6.94812e-08, -1.06469e-07, -4.11865e-08, 0.969334, 0.245744, 1.20279e-07, -0.245744, 0.969335, -3.44336e-07, 32.5338, 4.70383e-05)
bones/50/enabled = true
bones/50/position = Vector3(-3.43632e-06, 32.5338, 4.43263e-06)
bones/50/rotation = Quaternion(-0.226508, -0.198811, 0.127426, 0.94495)
bones/50/position = Vector3(1.32505e-07, 32.5338, 5.50832e-06)
bones/50/rotation = Quaternion(-0.803993, -0.0461324, 0.0537815, 0.590402)
bones/50/scale = Vector3(1, 1, 1)
bones/51/name = "mixamorig_LeftFoot"
bones/51/parent = 50
bones/51/rest = Transform3D(0.977152, -0.211548, -0.0205252, 0.0806816, 0.458539, -0.885004, 0.196632, 0.863127, 0.465131, -1.98803e-07, 48.648, 1.91926e-07)
bones/51/enabled = true
bones/51/position = Vector3(-1.98803e-07, 48.648, 1.91926e-07)
bones/51/rotation = Quaternion(0.607916, -0.237733, 0.20714, 0.728707)
bones/51/position = Vector3(5.52994e-07, 48.648, -6.43921e-07)
bones/51/rotation = Quaternion(0.52934, -0.0449537, 0.121529, 0.838456)
bones/51/scale = Vector3(1, 1, 1)
bones/52/name = "mixamorig_LeftToeBase"
bones/52/parent = 51
bones/52/rest = Transform3D(0.994305, -0.00805927, -0.106271, -0.0542637, 0.819927, -0.569891, 0.091727, 0.572412, 0.81482, -2.03601e-05, 29, 1.81803e-05)
bones/52/enabled = true
bones/52/position = Vector3(-1.33779e-07, 29, -1.3077e-06)
bones/52/rotation = Quaternion(0.213664, 0.0268641, 0.0060122, 0.976519)
bones/52/position = Vector3(-3.57033e-07, 29, -7.04998e-07)
bones/52/rotation = Quaternion(0.396432, -0.194093, -0.0475999, 0.896049)
bones/52/scale = Vector3(1, 1, 1)
bones/53/name = "mixamorig_LeftToe_End"
bones/53/parent = 52
bones/53/rest = Transform3D(1, -7.45335e-09, 1.47944e-08, 7.45335e-09, 1, 6.54229e-08, -1.47944e-08, -6.54229e-08, 1, -8.78867e-09, 23.5123, 1.92407e-06)
bones/53/enabled = true
bones/53/position = Vector3(-8.78867e-09, 23.5123, 1.92407e-06)
bones/53/position = Vector3(1.54317e-06, 23.5123, 1.58788e-06)
bones/53/rotation = Quaternion(-3.27114e-08, 7.3972e-09, 3.72668e-09, 1)
bones/53/scale = Vector3(1, 1, 1)
bones/54/name = "mixamorig_RightUpLeg"
bones/54/parent = 0
bones/54/rest = Transform3D(-1, -1.61224e-06, 4.29171e-08, 1.60665e-06, -0.993503, 0.113804, -1.40841e-07, 0.113804, 0.993502, -11.3941, -6.18776, -0.413858)
bones/54/enabled = true
bones/54/position = Vector3(-11.3941, -6.18779, -0.413815)
bones/54/rotation = Quaternion(-0.194731, 0.300978, 0.898943, 0.25178)
bones/54/position = Vector3(-11.3941, -6.1878, -0.413816)
bones/54/rotation = Quaternion(-0.0755778, 0.441748, 0.885113, 0.12539)
bones/54/scale = Vector3(1, 1, 0.999998)
bones/55/name = "mixamorig_RightLeg"
bones/55/parent = 54
bones/55/rest = Transform3D(1, 6.94846e-08, -1.06487e-07, -4.11853e-08, 0.969334, 0.245744, 1.20297e-07, -0.245744, 0.969335, -3.44467e-07, 32.5338, 5.8359e-05)
bones/55/enabled = true
bones/55/position = Vector3(9.66912e-06, 32.5338, 3.41562e-06)
bones/55/rotation = Quaternion(-0.479295, 0.0681544, -0.030738, 0.874464)
bones/55/position = Vector3(-3.44461e-07, 32.5338, -3.08126e-07)
bones/55/rotation = Quaternion(-0.691654, -0.03751, 0.00601703, 0.721229)
bones/55/scale = Vector3(1, 1, 1)
bones/56/name = "mixamorig_RightFoot"
bones/56/parent = 55
bones/56/rest = Transform3D(0.977152, 0.211549, 0.0205261, -0.0806797, 0.458533, -0.885007, -0.196634, 0.863131, 0.465124, 7.5487e-07, 48.6481, -4.9512e-06)
bones/56/enabled = true
bones/56/position = Vector3(7.5487e-07, 48.6481, -4.9512e-06)
bones/56/rotation = Quaternion(0.507878, 0.189076, 0.247287, 0.803218)
bones/56/position = Vector3(-4.00578e-07, 48.6481, 1.98047e-06)
bones/56/rotation = Quaternion(0.664426, 0.10764, -0.0152366, 0.739404)
bones/56/scale = Vector3(1, 1, 1)
bones/57/name = "mixamorig_RightToeBase"
bones/57/parent = 56
bones/57/rest = Transform3D(0.994304, 0.00805453, 0.106272, 0.0542684, 0.819927, -0.56989, -0.0917255, 0.572412, 0.81482, -6.79173e-06, 29, 9.25874e-06)
bones/57/enabled = true
bones/57/position = Vector3(2.46004e-06, 29, 8.76624e-06)
bones/57/rotation = Quaternion(0.640791, 0.221586, 0.0788362, 0.730802)
bones/57/position = Vector3(1.58658e-06, 29, 4.79121e-07)
bones/57/rotation = Quaternion(0.344115, 0.0612848, 0.0124463, 0.936843)
bones/57/scale = Vector3(1, 1, 1)
bones/58/name = "mixamorig_RightToe_End"
bones/58/parent = 57
bones/58/rest = Transform3D(1, 7.45077e-08, 4.9714e-08, -7.45077e-08, 1, 1.27714e-07, -4.97139e-08, -1.27714e-07, 1, 1.8974e-06, 23.512, -4.82143e-06)
bones/58/enabled = true
bones/58/position = Vector3(1.8974e-06, 23.512, -4.82143e-06)
bones/58/position = Vector3(-2.47227e-06, 23.512, -5.11851e-06)
bones/58/rotation = Quaternion(-6.38571e-08, 2.4857e-08, -3.72538e-08, 1)
bones/58/scale = Vector3(1, 1, 1)
@@ -2753,11 +2698,11 @@ mesh = SubResource("ArrayMesh_kq2p3")
skin = SubResource("Skin_igf26")
[node name="Physical Bone mixamorig_Hips" type="PhysicalBone3D" parent="Armature/Skeleton3D"]
transform = Transform3D(-0.935613, -0.327257, 0.115515, -0.0425122, -0.220403, -0.974095, 0.345573, -0.917126, 0.192925, -39.9196, 130.432, -65.103)
transform = Transform3D(-0.998216, 0.0418237, 0.0275661, -0.0409079, -0.997335, 0.0226912, 0.0284695, 0.0214512, 0.999153, 0.13421, 0.286198, -88.9339)
collision_layer = 2
collision_mask = 2
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.01829, -51.9393, 24.3426)
body_offset = Transform3D(-0.820447, -0.56701, -0.0272594, 0.150176, -0.170489, -0.973509, 0.548558, -0.803883, 0.225749, -27.9511, 14.6898, -47.807)
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000121663, 8.49366e-06, 6.38821)
body_offset = Transform3D(-0.999432, 0.00769927, 0.000188166, -6.50552e-06, 0.0246753, -0.999486, -0.00736948, -0.998108, -0.0246631, -0.00108051, 6.38493, 0.157562)
bone_name = "mixamorig_Hips"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Armature/Skeleton3D/Physical Bone mixamorig_Hips"]
@@ -2765,12 +2710,12 @@ transform = Transform3D(1, 3.72529e-08, -2.98023e-08, 0, -2.98023e-08, 1, 0, -1,
shape = SubResource("CapsuleShape3D_6sdfw")
[node name="Physical Bone mixamorig_Head" type="PhysicalBone3D" parent="Armature/Skeleton3D"]
transform = Transform3D(0.612376, -0.468423, 0.635274, -0.440774, 0.465501, 0.765957, -0.655587, -0.750324, 0.078612, 12.2865, 21.0574, -25.0904)
transform = Transform3D(-0.966851, -0.236202, 0.0965952, 0.198058, -0.933318, -0.298809, 0.160962, -0.270415, 0.948194, -14.9274, 50.8066, -147.465)
collision_layer = 2
collision_mask = 2
joint_type = 1
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -124.145, 88.7641, 84.1187)
body_offset = Transform3D(-0.619869, -0.693389, 0.365594, -0.687157, 0.705237, 0.172105, -0.377703, -0.144741, -0.912778, -46.159, -162.384, 42.7395)
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00114586, -0.0021615, 17.5358)
body_offset = Transform3D(-0.999969, 4.97699e-06, -6.58855e-05, 1.64285e-05, 0.143811, -0.98851, 3.01003e-06, -0.989604, -0.14331, 9.53674e-06, 17.3346, 2.51091)
bone_name = "mixamorig_Head"
joint_constraints/bias = 0.3
joint_constraints/damping = 1.0
@@ -2781,12 +2726,12 @@ transform = Transform3D(1, -1.86265e-09, -7.45058e-09, 7.45058e-09, -1.49012e-08
shape = SubResource("CapsuleShape3D_06hh8")
[node name="Physical Bone mixamorig_LeftLeg" type="PhysicalBone3D" parent="Armature/Skeleton3D"]
transform = Transform3D(-0.584484, -0.53304, 0.6112, 0.00999568, -0.757656, -0.651668, 0.811094, -0.374676, 0.448601, -56.685, 92.5312, -18.1053)
transform = Transform3D(-0.958987, 0.283337, 0.00761281, 0.231779, 0.76843, 0.59645, 0.163147, 0.573762, -0.802603, 16.17, 16.6261, -46.5882)
collision_layer = 2
collision_mask = 2
joint_type = 1
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.0972, -30.3403, 47.6736)
body_offset = Transform3D(0.956002, 0.137885, 0.258225, -0.271428, 0.747124, 0.605735, -0.109462, -0.649117, 0.752253, 11.0859, -11.6646, -57.7569)
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000112495, 0.00162727, 24.3257)
body_offset = Transform3D(0.999997, -2.86102e-06, 6.25849e-07, -5.06639e-07, 1.46925e-05, -0.999993, -3.27826e-07, 0.999984, -2.32458e-06, 9.72748e-05, 24.3256, -0.0015707)
bone_name = "mixamorig_LeftLeg"
joint_constraints/bias = 0.3
joint_constraints/damping = 1.0
@@ -2797,12 +2742,12 @@ transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0)
shape = SubResource("CapsuleShape3D_t3iic")
[node name="Physical Bone mixamorig_RightLeg" type="PhysicalBone3D" parent="Armature/Skeleton3D"]
transform = Transform3D(-0.727292, 0.081987, 0.681101, -0.372987, -0.880318, -0.292667, 0.575754, -0.467055, 0.670813, -77.3196, 93.4405, -27.3206)
transform = Transform3D(-0.970203, -0.242094, -0.0109041, -0.21006, 0.81755, 0.536197, -0.120901, 0.522487, -0.844044, -20.3798, 12.2416, -37.6024)
collision_layer = 2
collision_mask = 2
joint_type = 1
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.19504, 1.46457, 37.5698)
body_offset = Transform3D(-0.0922445, 0.0753763, -0.99264, -0.0106643, 0.996915, 0.0768258, 0.995462, 0.0174719, -0.0911348, 36.6114, -4.41245, 9.56525)
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.00127e-05, 0.00109388, 24.3264)
body_offset = Transform3D(1.00002, 6.4075e-07, -5.0813e-06, 4.01586e-06, 2.83122e-06, -1.00002, -2.47657e-05, 0.999995, 9.44734e-06, 0.000213623, 24.3269, -0.0013237)
bone_name = "mixamorig_RightLeg"
joint_constraints/bias = 0.3
joint_constraints/damping = 1.0
@@ -2813,8 +2758,6 @@ transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0)
shape = SubResource("CapsuleShape3D_60q35")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
deterministic = true
reset_on_save = false
libraries = {
"": SubResource("AnimationLibrary_53ffe")
}
@@ -2824,11 +2767,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("CapsuleShape3D_go447")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
path_height_offset = 0.6
path_height_offset = 0.35
[node name="AnimationTree" type="AnimationTree" parent="."]
reset_on_save = false
root_motion_track = NodePath("Armature/Skeleton3D:mixamorig_Hips")
tree_root = SubResource("AnimationNodeStateMachine_v7c1i")
anim_player = NodePath("../AnimationPlayer")
parameters/conditions/attack = false
parameters/conditions/run = false

View File

@@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://b8n5rff2a8h2u" path="res://Assets/Textures/Black.png" id="2_fkwcn"]
[ext_resource type="Texture2D" uid="uid://lpbttkw7gpxj" path="res://Assets/Textures/Orange.png" id="3_ux02w"]
[ext_resource type="Texture2D" uid="uid://di3uyny341483" path="res://Assets/Textures/Green.png" id="4_wp15n"]
[ext_resource type="PackedScene" uid="uid://bjuf33f7oteit" path="res://Scenes/Characters/zombie.tscn" id="5_4vmh3"]
[ext_resource type="PackedScene" uid="uid://bcawyy7lmwphr" path="res://Scenes/Characters/zombie.tscn" id="5_4vmh3"]
[ext_resource type="PackedScene" uid="uid://d38w4ae3qj0k4" path="res://Scenes/Characters/first_person_player.tscn" id="5_8ctht"]
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_6c4vd"]
@@ -58,7 +58,7 @@ uv1_triplanar = true
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_rit6o"]
data = PackedVector3Array(-12.5, 2.5, 2.5, 2.5, -2.5, 2.5, -2.5, -2.5, 2.5, -12.5, 2.5, -2.5, -2.5, -2.5, -2.5, 2.5, -2.5, -2.5, -12.5, 2.5, 2.5, -12.5, 2.5, -2.5, 2.5, -2.5, 2.5, -12.5, 2.5, -2.5, 2.5, -2.5, -2.5, 2.5, -2.5, 2.5, -12.5, 2.5, -2.5, -12.5, 2.5, 2.5, -2.5, -2.5, -2.5, -12.5, 2.5, 2.5, -2.5, -2.5, 2.5, -2.5, -2.5, -2.5, -2.5, -2.5, 2.5, 2.5, -2.5, 2.5, -2.5, -2.5, -2.5, 2.5, -2.5, 2.5, 2.5, -2.5, -2.5, -2.5, -2.5, -2.5)
[node name="World" type="World"]
[node name="World" type="Node3D"]
[node name="Map" type="Node3D" parent="."]
@@ -106,27 +106,4 @@ shape = SubResource("ConcavePolygonShape3D_rit6o")
m_PlayerPath = NodePath("../../FirstPersonPlayer")
transform = Transform3D(-0.98774, 0, -0.156107, 0, 1, 0, 0.156107, 0, -0.98774, 0, 0, 7.38477)
[node name="zombie2" parent="Map" instance=ExtResource("5_4vmh3")]
m_PlayerPath = NodePath("../../FirstPersonPlayer")
transform = Transform3D(-0.98774, 0, -0.156107, 0, 1, 0, 0.156107, 0, -0.98774, 8.0927, 0, 7.38477)
[node name="zombie3" parent="Map" instance=ExtResource("5_4vmh3")]
m_PlayerPath = NodePath("../../FirstPersonPlayer")
transform = Transform3D(-0.98774, 0, -0.156107, 0, 1, 0, 0.156107, 0, -0.98774, 14.3905, 0, -18.3684)
[node name="FirstPersonPlayer" parent="." instance=ExtResource("5_8ctht")]
[node name="UI" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="HitRect" type="ColorRect" parent="UI"]
visible = false
layout_mode = 0
offset_left = -177.0
offset_top = -96.0
offset_right = 1365.0
offset_bottom = 780.0
color = Color(1, 0, 0, 0.34902)

View File

@@ -21,7 +21,7 @@ void Bullet::_ready() {
DEV_ASSERT(m_Ray);
m_Mesh = Object::cast_to<MeshInstance3D>(find_child("MeshInstance3D"));
DEV_ASSERT(m_Mesh);
m_Timer = memnew(Timer);
m_Timer = memnew(godot::Timer);
add_child(m_Timer);
m_Timer->connect("timeout", callable_mp(this, &Bullet::_on_timer_timeout));
}

View File

@@ -6,7 +6,6 @@
#include <godot_cpp/classes/input_map.hpp>
#include <godot_cpp/classes/resource_loader.hpp>
#include <godot_cpp/core/math.hpp>
#include <godot_cpp/variant/signal.hpp>
using namespace godot;
@@ -21,8 +20,6 @@ static constexpr float GRAVITY = 9.81f;
static constexpr float SENSITIVITY = 0.003f;
static constexpr float HIT_STAGGER = 8.0f;
static constexpr float BOB_FREQ = 2.0f;
static constexpr float BOB_AMP = 0.08f;
@@ -37,9 +34,7 @@ static constexpr float MIN_FOV_VELOCITY = 0.5;
static constexpr float MAX_FOV_VELOCITY = SPRINT_SPEED * 2.0f;
void FirstPersonPlayer::_bind_methods() {
ADD_SIGNAL(MethodInfo("a_PlayerHit"));
}
void FirstPersonPlayer::_bind_methods() {}
FirstPersonPlayer::FirstPersonPlayer() : m_BobTime(0) {}
@@ -161,9 +156,4 @@ void FirstPersonPlayer::UpdateFOV(float a_Delta) {
m_Camera->set_fov(Math::lerp(m_Camera->get_fov(), targetFOV, a_Delta * FOV_TRANSITION));
}
void FirstPersonPlayer::hit(Vector3 a_Dir) {
emit_signal("a_PlayerHit");
this->set_velocity(a_Dir * HIT_STAGGER);
}
} // namespace blitz

View File

@@ -24,7 +24,6 @@ class FirstPersonPlayer : public godot::CharacterBody3D {
void _unhandled_input(const godot::Ref<godot::InputEvent>&);
void _physics_process(float delta);
void _ready();
void hit(godot::Vector3 dir);
private:
godot::Camera3D* m_Camera;
@@ -40,7 +39,6 @@ class FirstPersonPlayer : public godot::CharacterBody3D {
void UpdateFOV(float delta);
void UpdateCamera(const godot::InputEventMouseMotion&);
void UpdatePosition(float delta);
};
} // namespace blitz

View File

@@ -1,42 +0,0 @@
#include "World.h"
#include "FirstPersonPlayer.h"
#include <godot_cpp/variant/utility_functions.hpp>
using namespace godot;
namespace blitz {
void World::_bind_methods() {
ClassDB::bind_method(D_METHOD("_on_first_person_player_hit"), &World::_on_first_person_player_hit);
ClassDB::bind_method(D_METHOD("_on_timer_timeout"), &World::_on_timer_timeout);
}
World::World() {}
World::~World() {}
void World::_ready() {
FirstPersonPlayer* player = Object::cast_to<FirstPersonPlayer>(find_child("FirstPersonPlayer"));
DEV_ASSERT(player);
if (player) {
player->connect("a_PlayerHit", callable_mp(this, &World::_on_first_person_player_hit));
}
m_RedRect = Object::cast_to<ColorRect>(find_child("HitRect"));
DEV_ASSERT(m_RedRect);
m_Timer = memnew(Timer);
add_child(m_Timer);
m_Timer->connect("timeout", callable_mp(this, &World::_on_timer_timeout));
}
void World::_on_first_person_player_hit() {
UtilityFunctions::print("Player hit detected in World.");
m_RedRect->set_visible(true);
m_Timer->set_wait_time(0.2);
m_Timer->start();
}
void World::_on_timer_timeout() {
m_RedRect->set_visible(false);
}
} // namespace blitz

View File

@@ -1,27 +0,0 @@
#pragma once
#include <godot_cpp/classes/node3d.hpp>
#include <godot_cpp/classes/color_rect.hpp>
#include <godot_cpp/classes/timer.hpp>
namespace blitz {
class World : public godot::Node3D {
GDCLASS(World, godot::Node3D);
protected:
static void _bind_methods();
public:
World();
~World();
void _ready();
private:
godot::ColorRect* m_RedRect;
godot::Timer* m_Timer;
void _on_timer_timeout();
void _on_first_person_player_hit();
};
} // namespace blitz

View File

@@ -1,19 +1,18 @@
#include "Zombie.h"
#include <godot_cpp/classes/engine.hpp>
#include <godot_cpp/core/math.hpp>
#include <godot_cpp/variant/utility_functions.hpp>
using namespace godot;
namespace blitz {
static constexpr float SPEED = 2.0f;
static constexpr float ATTACK_RANGE = 2.0f;
void Zombie::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_m_PlayerPath", "m_PlayerPath"), &Zombie::set_m_PlayerPath);
ClassDB::bind_method(D_METHOD("get_m_PlayerPath"), &Zombie::get_m_PlayerPath);
ClassDB::bind_method(D_METHOD("hit_finished"), &Zombie::hit_finished);
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "m_PlayerPath"), "set_m_PlayerPath", "get_m_PlayerPath");
}
@@ -33,11 +32,7 @@ void Zombie::_ready() {
DEV_ASSERT(m_Player);
m_NavigationAgent = Object::cast_to<NavigationAgent3D>(find_child("NavigationAgent3D"));
DEV_ASSERT(m_NavigationAgent);
m_AnimationTree = Object::cast_to<AnimationTree>(find_child("AnimationTree"));
DEV_ASSERT(m_AnimationTree);
m_StateMachine = Object::cast_to<AnimationNodeStateMachinePlayback>(m_AnimationTree->get("parameters/playback"));
DEV_ASSERT(m_StateMachine);
this->set_velocity(Vector3(0, 0, 0));
m_Velocity = Vector3(0, 0, 0);
}
void Zombie::_process(float a_Delta) {
@@ -46,28 +41,15 @@ void Zombie::_process(float a_Delta) {
return;
}
#endif
if (m_StateMachine->get_current_node().match("Run")) {
m_NavigationAgent->set_target_position(m_Player->get_global_position());
m_Velocity = (m_NavigationAgent->get_next_path_position() - this->get_global_position()).normalized() * SPEED;
this->set_velocity(m_Velocity);
look_at(Vector3(this->get_global_position().x + this->get_velocity().x, this->get_global_position().y,
this->get_global_position().z + this->get_velocity().z));
} else if (m_StateMachine->get_current_node().match("Attack")) {
this->set_velocity(Vector3(0, 0, 0));
look_at(Vector3(m_Player->get_global_position().x + this->get_velocity().x, this->get_global_position().y,
m_Player->get_global_position().z + this->get_velocity().z));
}
m_AnimationTree->set("parameters/conditions/run", !_target_in_range());
m_AnimationTree->set("parameters/conditions/attack", _target_in_range());
m_NavigationAgent->set_target_position(m_Player->get_global_position());
Vector3 next_nav_point = m_NavigationAgent->get_next_path_position();
m_Velocity = (next_nav_point - get_global_position()).normalized() * SPEED;
this->set_velocity(m_Velocity);
look_at(Vector3(m_Player->get_global_position().x, get_global_position().y, m_Player->get_global_position().z), Vector3(0, 1, 0));
move_and_slide();
}
bool Zombie::_target_in_range() {
return this->get_global_position().distance_to(m_Player->get_global_position()) < ATTACK_RANGE;
}
void Zombie::set_m_PlayerPath(const NodePath& path) {
m_PlayerPath = path;
}
@@ -75,11 +57,4 @@ void Zombie::set_m_PlayerPath(const NodePath& path) {
NodePath Zombie::get_m_PlayerPath() const {
return m_PlayerPath;
}
void Zombie::hit_finished() {
if (this->get_global_position().distance_to(m_Player->get_global_position()) < (ATTACK_RANGE + 1.0)) {
Vector3 dir = this->get_global_position().direction_to(m_Player->get_global_position());
m_Player->hit(dir);
}
}
} // namespace blitz

View File

@@ -1,14 +1,12 @@
#pragma once
#include "FirstPersonPlayer.h"
#include <godot_cpp/classes/animation_node_state_machine_playback.hpp>
#include <godot_cpp/classes/animation_tree.hpp>
#include <godot_cpp/classes/character_body3d.hpp>
#include <godot_cpp/classes/navigation_agent3d.hpp>
#include <godot_cpp/variant/node_path.hpp>
#include "FirstPersonPlayer.h"
namespace blitz {
class Zombie : public godot::CharacterBody3D {
GDCLASS(Zombie, godot::CharacterBody3D)
protected:
@@ -20,19 +18,16 @@ class Zombie : public godot::CharacterBody3D {
void _ready();
void _process(float delta);
bool _target_in_range();
private:
godot::NavigationAgent3D* m_NavigationAgent;
FirstPersonPlayer* m_Player;
godot::NodePath m_PlayerPath;
godot::Vector3 m_Velocity;
godot::AnimationTree* m_AnimationTree;
godot::AnimationNodeStateMachinePlayback* m_StateMachine;
void set_m_PlayerPath(const godot::NodePath& path);
godot::NodePath get_m_PlayerPath() const;
void hit_finished();
};
} // namespace blitz

View File

@@ -5,7 +5,6 @@
#include "Player.h"
#include "SpringArmPivot.h"
#include "Zombie.h"
#include "World.h"
#include <gdextension_interface.h>
#include <godot_cpp/core/defs.hpp>
@@ -23,7 +22,6 @@ void initialize_example_module(ModuleInitializationLevel p_level) {
ClassDB::register_class<blitz::FirstPersonPlayer>();
ClassDB::register_class<blitz::Bullet>();
ClassDB::register_class<blitz::Zombie>();
ClassDB::register_class<blitz::World>();
}
void uninitialize_example_module(ModuleInitializationLevel p_level) {