From 3426532a65496d950a6e7830b46370fbc6ea98c1 Mon Sep 17 00:00:00 2001 From: Morph01 <145839520+Morph01@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:10:31 +0200 Subject: [PATCH] add a testing camera fps (switching cameras by pressing t) --- godot/Scenes/Characters/player.tscn | 112 +++++++++++++++------------- godot/project.godot | 10 ++- src/SpringArmPivot.cpp | 13 ++++ src/SpringArmPivot.h | 3 +- 4 files changed, 82 insertions(+), 56 deletions(-) diff --git a/godot/Scenes/Characters/player.tscn b/godot/Scenes/Characters/player.tscn index cc90c2c..bbe68b6 100644 --- a/godot/Scenes/Characters/player.tscn +++ b/godot/Scenes/Characters/player.tscn @@ -3256,7 +3256,6 @@ input_1/reset = true [sub_resource type="AnimationNodeBlend3" id="AnimationNodeBlend3_3c3it"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_dptuf"] -graph_offset = Vector2(-43.7693, 23.4538) nodes/Air/node = SubResource("AnimationNodeAnimation_dfvqk") nodes/Air/position = Vector2(420, 340) nodes/Idle/node = SubResource("AnimationNodeAnimation_u51wd") @@ -3286,43 +3285,43 @@ bones/0/name = "Hips" bones/0/parent = -1 bones/0/rest = Transform3D(1, -5.00981e-07, 6.47142e-09, 0, 0.0129164, 0.999917, -5.01023e-07, -0.999917, 0.0129164, -7.72729e-06, 1.55432, -104.275) bones/0/enabled = true -bones/0/position = Vector3(-0.00545547, 1.5608, -104.173) -bones/0/rotation = Quaternion(-0.673975, -0.26086, 0.257429, 0.641436) +bones/0/position = Vector3(-0.0082125, 1.55874, -104.203) +bones/0/rotation = Quaternion(-0.679657, -0.269033, 0.250402, 0.634813) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "Spine" bones/1/parent = 0 bones/1/rest = Transform3D(1, 4.9454e-07, 3.97682e-08, -4.9454e-07, 0.98715, 0.159796, 3.97681e-08, -0.159796, 0.98715, -4.1641e-10, 10.1824, 4.47034e-08) bones/1/enabled = true bones/1/position = Vector3(-4.1641e-10, 10.1824, 4.47034e-08) -bones/1/rotation = Quaternion(0.0494452, 0.00102938, -0.0281418, 0.99838) +bones/1/rotation = Quaternion(-0.0311147, 0.0410088, -0.00392906, 0.998666) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "Spine1" bones/2/parent = 1 bones/2/rest = Transform3D(1, 4.13003e-14, -6.10621e-16, -4.13003e-14, 1, 5.96046e-08, 6.10624e-16, -5.96046e-08, 1, -6.45306e-12, 10.0027, 2.63751e-06) bones/2/enabled = true bones/2/position = Vector3(-6.45306e-12, 10.0027, 2.63751e-06) -bones/2/rotation = Quaternion(0.25634, 0.00456356, -0.0680245, 0.964179) +bones/2/rotation = Quaternion(0.098017, 0.0825765, -0.00578447, 0.991736) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "Spine2" bones/3/parent = 2 bones/3/rest = Transform3D(1, 7.40298e-08, -1.9083e-09, -7.40543e-08, 0.999668, -0.0257692, -2.13163e-14, 0.0257692, 0.999668, -6.39488e-13, 9.32208, -1.54972e-06) bones/3/enabled = true bones/3/position = Vector3(-6.39488e-13, 9.32208, -1.54972e-06) -bones/3/rotation = Quaternion(0.268751, 0.00362875, -0.0681548, 0.960789) +bones/3/rotation = Quaternion(0.110777, 0.082485, -0.00684914, 0.990393) bones/3/scale = Vector3(1, 1, 1) bones/4/name = "Neck" bones/4/parent = 3 bones/4/rest = Transform3D(1, -1.45661e-13, -1.46549e-14, 1.45661e-13, 1, -1.86265e-08, 1.46549e-14, 1.86265e-08, 1, 4.13195e-10, 16.8654, 4.15668e-13) bones/4/enabled = true bones/4/position = Vector3(4.13195e-10, 16.8654, 4.15668e-13) -bones/4/rotation = Quaternion(0.0150258, 0.0423437, -0.0448451, 0.997983) +bones/4/rotation = Quaternion(-0.0292872, -0.0109266, 0.000614345, 0.999511) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "Head" bones/5/parent = 4 bones/5/rest = Transform3D(1, 7.74936e-14, 5.77316e-15, -7.74936e-14, 1, 4.47035e-08, -5.77316e-15, -4.47035e-08, 1, -1.07566e-07, 9.3419, 2.84104) bones/5/enabled = true bones/5/position = Vector3(-1.07566e-07, 9.3419, 2.84104) -bones/5/rotation = Quaternion(0.00920543, 0.0563305, 0.022933, 0.998106) +bones/5/rotation = Quaternion(-0.0640972, 0.177069, 0.0137292, 0.982013) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "HeadTop_End" bones/6/parent = 5 @@ -3336,42 +3335,42 @@ bones/7/parent = 3 bones/7/rest = Transform3D(-0.205696, -0.977364, 0.0494833, -0.129005, -0.0230424, -0.991376, 0.970076, -0.210305, -0.121346, -4.56997, 11.1959, -0.806634) bones/7/enabled = true bones/7/position = Vector3(-4.56997, 11.1959, -0.806634) -bones/7/rotation = Quaternion(-0.407796, 0.575185, -0.614273, -0.354307) +bones/7/rotation = Quaternion(-0.571447, 0.511011, -0.514334, -0.384418) bones/7/scale = Vector3(1, 1, 1) bones/8/name = "RightArm" bones/8/parent = 7 bones/8/rest = Transform3D(0.978563, 0.205696, 0.0101912, -0.205948, 0.977364, 0.0484225, -2.57045e-07, -0.0494833, 0.998775, -3.57628e-07, 10.8382, -1.46913e-05) bones/8/enabled = true bones/8/position = Vector3(1.96774e-07, 10.8382, -3.20984e-07) -bones/8/rotation = Quaternion(0.203226, 0.203129, -0.0329129, 0.957264) +bones/8/rotation = Quaternion(0.488885, 0.0407173, 0.094859, 0.866219) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "RightForeArm" bones/9/parent = 8 bones/9/rest = Transform3D(1, -5.8991e-08, -1.67444e-07, 5.8991e-08, 1, -9.42509e-15, 1.67444e-07, -4.52622e-16, 1, -1.01963e-05, 27.8415, -1.44409e-05) bones/9/enabled = true bones/9/position = Vector3(-1.00907e-05, 27.8415, -3.06037e-05) -bones/9/rotation = Quaternion(0.016868, -0.0422137, -0.187411, 0.981229) +bones/9/rotation = Quaternion(0.0521653, 0.0148866, -0.362646, 0.930347) bones/9/scale = Vector3(1, 1, 1) bones/10/name = "RightHand" bones/10/parent = 9 bones/10/rest = Transform3D(1, -1.90228e-09, 1.90222e-09, 1.90228e-09, 1, 1.10216e-13, -1.90222e-09, -1.10212e-13, 1, 1.54253e-05, 28.3288, 1.70057e-05) bones/10/enabled = true bones/10/position = Vector3(1.5054e-05, 28.3288, 8.42971e-07) -bones/10/rotation = Quaternion(-0.29465, 0.0869538, -0.124768, 0.943426) +bones/10/rotation = Quaternion(0.113226, -0.0584235, -0.102203, 0.98657) bones/10/scale = Vector3(1, 1, 1) bones/11/name = "RightHandThumb1" bones/11/parent = 10 bones/11/rest = Transform3D(0.888246, 0.459367, 6.78003e-07, -0.396939, 0.767535, -0.503319, -0.231209, 0.447071, 0.864101, 2.68185, 2.46481, 1.57399) bones/11/enabled = true bones/11/position = Vector3(2.68185, 2.46481, 1.57397) -bones/11/rotation = Quaternion(0.2394, 0.160363, -0.215536, 0.933014) +bones/11/rotation = Quaternion(0.235588, 0.143186, -0.210042, 0.938019) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "RightHandThumb2" bones/12/parent = 11 bones/12/rest = Transform3D(0.999824, -0.0185942, -0.0023841, 0.0186051, 0.999816, 0.00460874, 0.00229796, -0.00465229, 0.999986, 3.93391e-06, 4.18899, 7.30372e-06) bones/12/enabled = true bones/12/position = Vector3(-4.17233e-06, 4.18898, -1.18934e-05) -bones/12/rotation = Quaternion(-0.115742, 0.0900667, 0.192157, 0.970344) +bones/12/rotation = Quaternion(-0.0450556, 0.000988488, 0.185764, 0.98156) bones/12/scale = Vector3(1, 1, 1) bones/13/name = "RightHandThumb3" bones/13/parent = 12 @@ -3392,20 +3391,20 @@ bones/15/parent = 10 bones/15/rest = Transform3D(1, 0.000328245, -7.43808e-08, -0.000328245, 1, 2.44166e-11, 7.43808e-08, -1.4988e-15, 1, 2.25983, 9.10829, 0.517869) bones/15/enabled = true bones/15/position = Vector3(2.25983, 9.10828, 0.517853) -bones/15/rotation = Quaternion(0.11025, 0.00650945, 0.00551306, 0.993867) +bones/15/rotation = Quaternion(0.0449154, 0.010135, 0.00840327, 0.998904) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "RightHandIndex2" bones/16/parent = 15 bones/16/rest = Transform3D(1, -0.000511482, 3.19887e-07, 0.000511482, 1, 1.0708e-05, -3.25364e-07, -1.07078e-05, 1, -7.49751e-08, 3.69999, 1.65342e-05) bones/16/enabled = true bones/16/position = Vector3(1.82747e-07, 3.7, 7.39788e-07) -bones/16/rotation = Quaternion(0.165573, 0.0101262, 0.00848687, 0.986109) +bones/16/rotation = Quaternion(0.159377, 0.00056319, 0.00884515, 0.987178) bones/16/scale = Vector3(1, 1, 1) bones/17/name = "RightHandIndex3" bones/17/parent = 16 bones/17/rest = Transform3D(1, 0.000176155, -3.22259e-07, -0.000176155, 1, -1.62121e-05, 3.19404e-07, 1.62121e-05, 1, -2.01722e-07, 2.85001, 9.19147e-07) bones/17/enabled = true -bones/17/position = Vector3(-1.84845e-06, 2.85003, 1.18279e-05) +bones/17/position = Vector3(-2.01722e-07, 2.85001, 9.19147e-07) bones/17/rotation = Quaternion(8.10606e-06, -1.60416e-07, -8.80775e-05, 1) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "RightHandIndex4" @@ -3420,20 +3419,20 @@ bones/19/parent = 10 bones/19/rest = Transform3D(1, 0.0010033, 8.39909e-08, -0.0010033, 1, 6.61679e-11, -8.39908e-08, -1.50436e-10, 1, -2.58012e-05, 9.53251, 4.75128e-05) bones/19/enabled = true bones/19/position = Vector3(-2.61725e-05, 9.5325, 3.135e-05) -bones/19/rotation = Quaternion(0.1721, 0.00873778, 0.0157109, 0.984915) +bones/19/rotation = Quaternion(0.110961, 0.00854111, 0.0243191, 0.99349) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "RightHandMiddle2" bones/20/parent = 19 bones/20/rest = Transform3D(0.999998, -0.00169976, 6.79326e-08, 0.00169976, 0.999998, 5.1725e-06, -7.67245e-08, -5.17238e-06, 1, 4.37467e-07, 3.70001, 1.65339e-05) bones/20/enabled = true bones/20/position = Vector3(5.8697e-08, 3.70001, -3.01458e-05) -bones/20/rotation = Quaternion(0.29122, 0.00291729, -0.0159203, 0.956519) +bones/20/rotation = Quaternion(0.286302, 0.00178444, -0.0180502, 0.957968) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "RightHandMiddle3" bones/21/parent = 20 bones/21/rest = Transform3D(1, 0.000643915, -3.04038e-07, -0.000643915, 1, -5.1723e-06, 3.00708e-07, 5.17249e-06, 1, -4.16598e-07, 2.95, -4.22492e-06) bones/21/enabled = true -bones/21/position = Vector3(1.20966e-05, 2.94998, -3.22118e-06) +bones/21/position = Vector3(-4.16598e-07, 2.95, -4.22492e-06) bones/21/rotation = Quaternion(2.5862e-06, -1.51187e-07, -0.000321958, 1) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "RightHandMiddle4" @@ -3448,20 +3447,20 @@ bones/23/parent = 10 bones/23/rest = Transform3D(1, -0.000311951, 2.28835e-07, 0.000311951, 1, 7.13874e-11, -2.28835e-07, -1.97758e-15, 1, -1.86514, 9.1036, 0.0430626) bones/23/enabled = true bones/23/position = Vector3(-1.86514, 9.1036, 0.0430626) -bones/23/rotation = Quaternion(0.230492, 0.00939941, 0.0756768, 0.970082) +bones/23/rotation = Quaternion(0.198328, -0.00758743, 0.0667353, 0.977832) bones/23/scale = Vector3(1, 1, 1) bones/24/name = "RightHandRing2" bones/24/parent = 23 bones/24/rest = Transform3D(1, 0.000442856, 1.18525e-07, -0.000442856, 1, 5.28028e-06, -1.16186e-07, -5.28033e-06, 1, -2.23002e-07, 3.37928, 6.29645e-07) bones/24/enabled = true bones/24/position = Vector3(-2.23002e-07, 3.37928, 6.29645e-07) -bones/24/rotation = Quaternion(0.355641, -0.00404305, -0.0360694, 0.933917) +bones/24/rotation = Quaternion(0.331506, -0.00251378, -0.0350197, 0.9428) bones/24/scale = Vector3(1, 1, 1) bones/25/name = "RightHandRing3" bones/25/parent = 24 bones/25/rest = Transform3D(1, 0.000225504, -7.92068e-08, -0.000225504, 1, -5.28044e-06, 7.8016e-08, 5.28046e-06, 1, 7.95918e-07, 2.88969, -1.66403e-07) bones/25/enabled = true -bones/25/position = Vector3(1.71073e-05, 2.88969, 1.43613e-05) +bones/25/position = Vector3(7.95918e-07, 2.88969, -1.66403e-07) bones/25/rotation = Quaternion(2.64023e-06, -3.93057e-08, -0.000112752, 1) bones/25/scale = Vector3(1, 1, 1) bones/26/name = "RightHandRing4" @@ -3476,20 +3475,20 @@ bones/27/parent = 10 bones/27/rest = Transform3D(0.999999, -0.00104089, 1.35743e-07, 0.00104089, 0.999999, -8.47695e-06, -1.26919e-07, 8.47709e-06, 1, -3.80628, 8.07669, 0.486713) bones/27/enabled = true bones/27/position = Vector3(-3.80628, 8.07668, 0.486696) -bones/27/rotation = Quaternion(0.293242, 0.0144781, 0.0775827, 0.952775) +bones/27/rotation = Quaternion(0.207178, -0.0110322, 0.0925862, 0.97385) bones/27/scale = Vector3(1, 1, 1) bones/28/name = "RightHandPinky2" bones/28/parent = 27 bones/28/rest = Transform3D(0.999999, -0.00169266, 2.0762e-07, 0.00169266, 0.999999, 1.21108e-06, -2.0967e-07, -1.21073e-06, 1, 1.02501e-06, 3.6, -1.07715e-07) bones/28/enabled = true bones/28/position = Vector3(1.02501e-06, 3.6, -1.07715e-07) -bones/28/rotation = Quaternion(0.398295, -0.018258, -0.0590211, 0.915175) +bones/28/rotation = Quaternion(0.360594, -0.0124003, -0.0686566, 0.93011) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "RightHandPinky3" bones/29/parent = 28 bones/29/rest = Transform3D(1, 0.000994016, -5.40032e-07, -0.000994016, 1, -7.1573e-06, 5.32917e-07, 7.15783e-06, 1, -1.01829e-06, 2.09999, -8.29957e-06) bones/29/enabled = true -bones/29/position = Vector3(1.28513e-05, 2.09999, 2.33415e-06) +bones/29/position = Vector3(-2.89617e-06, 2.09998, 6.26796e-06) bones/29/rotation = Quaternion(3.57878e-06, -2.68237e-07, -0.000497008, 1) bones/29/scale = Vector3(1, 1, 1) bones/30/name = "RightHandPinky4" @@ -3504,48 +3503,48 @@ bones/31/parent = 3 bones/31/rest = Transform3D(-0.205707, 0.977362, -0.0494651, 0.129002, -0.0230232, -0.991377, -0.970074, -0.210314, -0.121346, 4.57045, 11.1957, -0.806628) bones/31/enabled = true bones/31/position = Vector3(4.57045, 11.1957, -0.806628) -bones/31/rotation = Quaternion(0.488057, 0.536105, -0.568538, 0.388789) +bones/31/rotation = Quaternion(0.517946, 0.551775, -0.54517, 0.360647) bones/31/scale = Vector3(1, 1, 1) bones/32/name = "LeftArm" bones/32/parent = 31 bones/32/rest = Transform3D(0.978561, -0.205707, -0.0101878, 0.20596, 0.977363, 0.0484042, 1.67638e-08, -0.0494647, 0.998776, 1.19209e-07, 10.8377, -7.69096e-07) bones/32/enabled = true bones/32/position = Vector3(1.19209e-07, 10.8377, -7.69096e-07) -bones/32/rotation = Quaternion(0.185302, -0.209923, 0.138081, 0.950015) +bones/32/rotation = Quaternion(0.516773, -0.0569608, 0.13805, 0.842996) bones/32/scale = Vector3(1, 1, 1) bones/33/name = "LeftForeArm" bones/33/parent = 32 bones/33/rest = Transform3D(1, -7.91888e-10, 1.53855e-09, 7.9189e-10, 1, -1.06455e-06, -1.53855e-09, 1.06455e-06, 1, 6.43076e-07, 27.8415, 7.54874e-06) bones/33/enabled = true bones/33/position = Vector3(6.43076e-07, 27.8415, 7.54874e-06) -bones/33/rotation = Quaternion(0.0734728, -0.0260904, 0.146778, 0.986092) +bones/33/rotation = Quaternion(-0.00950859, 0.0616187, 0.412386, 0.908873) bones/33/scale = Vector3(1, 1, 1) bones/34/name = "LeftHand" bones/34/parent = 33 bones/34/rest = Transform3D(1, 1.34242e-08, -1.34244e-08, -1.34242e-08, 1, -2.38631e-07, 1.34244e-08, 2.38631e-07, 1, 6.6208e-06, 28.3288, 7.55342e-06) bones/34/enabled = true bones/34/position = Vector3(6.6208e-06, 28.3288, 7.55342e-06) -bones/34/rotation = Quaternion(-0.269413, 0.00612019, 0.168673, 0.948118) +bones/34/rotation = Quaternion(-0.129603, 0.138083, 0.0131147, 0.981817) bones/34/scale = Vector3(1, 1, 1) bones/35/name = "LeftHandThumb1" bones/35/parent = 34 bones/35/rest = Transform3D(0.8891, -0.457712, -1.3113e-06, 0.395629, 0.768507, -0.502867, 0.230169, 0.447099, 0.864364, -2.68173, 2.46615, 1.57617) bones/35/enabled = true bones/35/position = Vector3(-2.68173, 2.46615, 1.57617) -bones/35/rotation = Quaternion(0.284649, -0.0891071, 0.106222, 0.948553) +bones/35/rotation = Quaternion(0.30643, -0.00752002, 0.157458, 0.93875) bones/35/scale = Vector3(1, 1, 1) bones/36/name = "LeftHandThumb2" bones/36/parent = 35 bones/36/rest = Transform3D(0.999863, 0.0164218, 0.00212004, -0.0164305, 0.999857, 0.00411473, -0.00205216, -0.004149, 0.999989, 3.03984e-06, 4.1871, 3.07148e-06) bones/36/enabled = true bones/36/position = Vector3(2.98023e-07, 4.18709, 1.43951e-05) -bones/36/rotation = Quaternion(-0.012463, -0.00528461, -0.0347495, 0.999304) +bones/36/rotation = Quaternion(-0.00954947, 0.00154357, -0.00728264, 0.999927) bones/36/scale = Vector3(1, 1, 1) bones/37/name = "LeftHandThumb3" bones/37/parent = 36 bones/37/rest = Transform3D(0.999925, 0.0121444, 0.00150864, -0.012149, 0.999921, 0.00305249, -0.00147145, -0.00307059, 0.999994, 1.84774e-06, 3.41839, -4.41374e-07) bones/37/enabled = true -bones/37/position = Vector3(-2.23925e-06, 3.4184, -1.6558e-05) +bones/37/position = Vector3(1.84774e-06, 3.41839, -4.41374e-07) bones/37/rotation = Quaternion(-0.0015308, 0.000745039, -0.00607346, 0.99998) bones/37/scale = Vector3(1, 1, 1) bones/38/name = "LeftHandThumb4" @@ -3560,20 +3559,20 @@ bones/39/parent = 34 bones/39/rest = Transform3D(1, 8.81505e-05, -2.88796e-08, -8.81505e-05, 1, -2.25531e-06, 2.86808e-08, 2.25531e-06, 1, -2.25986, 9.10932, 0.518009) bones/39/enabled = true bones/39/position = Vector3(-2.25986, 9.10932, 0.518024) -bones/39/rotation = Quaternion(0.0830108, 0.0388407, 0.0514195, 0.994463) +bones/39/rotation = Quaternion(0.0391226, -0.00600676, 0.0617774, 0.997305) bones/39/scale = Vector3(1, 1, 1) bones/40/name = "LeftHandIndex2" bones/40/parent = 39 bones/40/rest = Transform3D(1, -0.000210313, 1.21517e-07, 0.000210313, 1, -1.2441e-06, -1.21255e-07, 1.24412e-06, 1, -7.90296e-08, 3.70001, -2.50717e-05) bones/40/enabled = true bones/40/position = Vector3(-1.00166e-07, 3.69999, 4.91004e-06) -bones/40/rotation = Quaternion(0.162598, -0.00866607, -0.00498977, 0.986642) +bones/40/rotation = Quaternion(0.14728, -0.000862923, -0.00634545, 0.989074) bones/40/scale = Vector3(1, 1, 1) bones/41/name = "LeftHandIndex3" bones/41/parent = 40 bones/41/rest = Transform3D(1, 0.000132683, -2.41828e-07, -0.000132683, 1, -1.44972e-07, 2.41809e-07, 1.45004e-07, 1, -1.18063e-07, 2.85002, -7.28452e-06) bones/41/enabled = true -bones/41/position = Vector3(-8.53018e-07, 2.85001, 4.62964e-06) +bones/41/position = Vector3(-1.18063e-07, 2.85002, -7.28452e-06) bones/41/rotation = Quaternion(7.24941e-08, -1.20909e-07, -6.63413e-05, 1) bones/41/scale = Vector3(1, 1, 1) bones/42/name = "LeftHandIndex4" @@ -3588,20 +3587,20 @@ bones/43/parent = 34 bones/43/rest = Transform3D(1, 6.33157e-05, -1.5605e-08, -6.33157e-05, 1, 1.85453e-06, 1.57224e-08, -1.85453e-06, 1, -3.57426e-05, 9.5334, -7.29997e-05) bones/43/enabled = true bones/43/position = Vector3(-3.58482e-05, 9.53341, -4.3386e-05) -bones/43/rotation = Quaternion(0.166169, -0.0258238, -0.0800847, 0.982501) +bones/43/rotation = Quaternion(0.130331, 0.00472736, -0.0786464, 0.988335) bones/43/scale = Vector3(1, 1, 1) bones/44/name = "LeftHandMiddle2" bones/44/parent = 43 bones/44/rest = Transform3D(1, -4.26227e-05, 1.84394e-07, 4.26227e-05, 1, -5.17247e-06, -1.84174e-07, 5.17248e-06, 1, 7.8513e-07, 3.70001, 5.89059e-07) bones/44/enabled = true bones/44/position = Vector3(7.8513e-07, 3.70001, 5.89059e-07) -bones/44/rotation = Quaternion(0.199962, 3.23689e-06, 0.0137906, 0.979707) +bones/44/rotation = Quaternion(0.195279, -0.00139675, 0.0148042, 0.980635) bones/44/scale = Vector3(1, 1, 1) bones/45/name = "LeftHandMiddle3" bones/45/parent = 44 bones/45/rest = Transform3D(1, -4.10359e-05, -4.48878e-07, 4.10359e-05, 1, 5.17246e-06, 4.48666e-07, -5.17248e-06, 1, -7.74908e-07, 2.95, 6.69636e-06) bones/45/enabled = true -bones/45/position = Vector3(-7.74908e-07, 2.95, 6.69636e-06) +bones/45/position = Vector3(1.98097e-06, 2.94999, -3.74432e-06) bones/45/rotation = Quaternion(-2.58623e-06, -2.24386e-07, 2.0518e-05, 1) bones/45/scale = Vector3(1, 1, 1) bones/46/name = "LeftHandMiddle4" @@ -3616,14 +3615,14 @@ bones/47/parent = 34 bones/47/rest = Transform3D(1, -1.26778e-05, 1.44174e-07, 1.26778e-05, 1, 1.85554e-06, -1.44198e-07, -1.85554e-06, 1, 1.86508, 9.10454, 0.0429883) bones/47/enabled = true bones/47/position = Vector3(1.86508, 9.10454, 0.0430176) -bones/47/rotation = Quaternion(0.289842, -0.0611307, -0.118318, 0.947763) +bones/47/rotation = Quaternion(0.270353, -0.0159107, -0.123873, 0.954627) bones/47/scale = Vector3(1, 1, 1) bones/48/name = "LeftHandRing2" bones/48/parent = 47 bones/48/rest = Transform3D(1, 7.29823e-08, -5.63593e-08, -7.29826e-08, 1, -5.17351e-06, 5.63589e-08, 5.17351e-06, 1, 7.46404e-07, 3.15002, 2.05661e-06) bones/48/enabled = true bones/48/position = Vector3(7.46404e-07, 3.15002, 2.05661e-06) -bones/48/rotation = Quaternion(0.289539, -0.000320947, 0.024351, 0.956857) +bones/48/rotation = Quaternion(0.28123, 0.00175925, 0.024472, 0.959327) bones/48/scale = Vector3(1, 1, 1) bones/49/name = "LeftHandRing3" bones/49/parent = 48 @@ -3644,20 +3643,20 @@ bones/51/parent = 34 bones/51/rest = Transform3D(0.999992, -0.00408962, 4.99198e-08, 0.00408962, 0.999992, 1.03318e-05, -9.21724e-08, -1.03315e-05, 1, 3.80626, 8.07779, 0.486838) bones/51/enabled = true bones/51/position = Vector3(3.80626, 8.07779, 0.486867) -bones/51/rotation = Quaternion(0.327025, -0.0820818, -0.129876, 0.932443) +bones/51/rotation = Quaternion(0.296451, -0.0164067, -0.155512, 0.942159) bones/51/scale = Vector3(1, 1, 1) bones/52/name = "LeftHandPinky2" bones/52/parent = 51 bones/52/rest = Transform3D(1, 0.000421534, -2.89811e-07, -0.000421534, 1, 6.05504e-06, 2.92363e-07, -6.05491e-06, 1, 5.8622e-07, 3.59999, 1.86631e-05) bones/52/enabled = true bones/52/position = Vector3(-9.29924e-07, 3.59999, -1.33763e-05) -bones/52/rotation = Quaternion(0.35166, 0.00795197, 0.0407161, 0.935208) +bones/52/rotation = Quaternion(0.341773, 0.01139, 0.0494713, 0.93841) bones/52/scale = Vector3(1, 1, 1) bones/53/name = "LeftHandPinky3" bones/53/parent = 52 bones/53/rest = Transform3D(1, 0.000133311, 1.0368e-06, -0.000133311, 1, -1.45322e-05, -1.03874e-06, 1.45321e-05, 1, -3.25512e-07, 2.10003, 1.47155e-05) bones/53/enabled = true -bones/53/position = Vector3(-3.25512e-07, 2.10003, 1.47155e-05) +bones/53/position = Vector3(4.83308e-06, 2.10001, 3.18113e-06) bones/53/rotation = Quaternion(7.26606e-06, 5.18884e-07, -6.66557e-05, 1) bones/53/scale = Vector3(1, 1, 1) bones/54/name = "LeftHandPinky4" @@ -3672,28 +3671,28 @@ bones/55/parent = 0 bones/55/rest = Transform3D(-1, -5.15831e-07, -6.28369e-08, 5.14419e-07, -0.999785, 0.0207118, -7.35073e-08, 0.0207118, 0.999785, -8.20779, -6.77175, -1.51222) bones/55/enabled = true bones/55/position = Vector3(-8.20779, -6.77175, -1.51222) -bones/55/rotation = Quaternion(-0.171821, 0.578667, 0.782421, 0.153099) +bones/55/rotation = Quaternion(-0.125224, 0.0330876, 0.983932, 0.122891) bones/55/scale = Vector3(1, 1, 1) bones/56/name = "RightLeg" bones/56/parent = 55 bones/56/rest = Transform3D(1, -3.11163e-08, -6.95594e-08, 3.63214e-08, 0.997098, 0.0761275, 6.69888e-08, -0.0761275, 0.997098, 7.40101e-07, 44.3715, -4.82482e-08) bones/56/enabled = true bones/56/position = Vector3(7.40101e-07, 44.3715, -4.82482e-08) -bones/56/rotation = Quaternion(-0.914553, -0.0261421, 0.0810702, 0.395396) +bones/56/rotation = Quaternion(-0.312132, 0.0769527, -0.023537, 0.946625) bones/56/scale = Vector3(1, 1, 1) bones/57/name = "RightFoot" bones/57/parent = 56 bones/57/rest = Transform3D(1, 2.89989e-07, -6.30721e-08, -2.18905e-07, 0.577278, -0.816548, -2.00379e-07, 0.816548, 0.577278, -1.88774e-07, 44.5278, 5.80588e-07) bones/57/enabled = true bones/57/position = Vector3(-1.88774e-07, 44.5278, 5.80588e-07) -bones/57/rotation = Quaternion(0.264136, 0.0252433, 0.0430909, 0.963192) +bones/57/rotation = Quaternion(0.60249, 0.0647094, 0.130377, 0.784742) bones/57/scale = Vector3(1, 1, 1) bones/58/name = "RightToeBase" bones/58/parent = 57 bones/58/rest = Transform3D(1, 1.2381e-07, -1.08868e-07, -1.64751e-07, 0.775226, -0.631684, 6.18842e-09, 0.631684, 0.775226, -5.1651e-07, 13.8169, -1.90205e-06) bones/58/enabled = true bones/58/position = Vector3(-5.1651e-07, 13.8169, -1.90205e-06) -bones/58/rotation = Quaternion(0.317939, -1.00007e-07, -1.98108e-07, 0.948111) +bones/58/rotation = Quaternion(0.349907, 0.00380851, -0.00196649, 0.936775) bones/58/scale = Vector3(1, 1, 1) bones/59/name = "RightToe_End" bones/59/parent = 58 @@ -3707,28 +3706,28 @@ bones/60/parent = 0 bones/60/rest = Transform3D(-1, -5.37325e-07, -1.73336e-07, 5.33615e-07, -0.999785, 0.0207348, -1.84441e-07, 0.0207348, 0.999785, 8.20779, -6.77179, -1.51221) bones/60/enabled = true bones/60/position = Vector3(8.20779, -6.77179, -1.51221) -bones/60/rotation = Quaternion(0.15404, 0.603026, 0.780016, -0.0648573) +bones/60/rotation = Quaternion(0.0792667, 0.219792, 0.967082, -0.100803) bones/60/scale = Vector3(1, 1, 1) bones/61/name = "LeftLeg" bones/61/parent = 60 bones/61/rest = Transform3D(1, -2.27105e-08, -2.66928e-07, 4.29763e-08, 0.997095, 0.0761695, 2.64423e-07, -0.0761695, 0.997095, 8.49408e-07, 44.3714, 5.43912e-09) bones/61/enabled = true bones/61/position = Vector3(8.49408e-07, 44.3714, 5.43912e-09) -bones/61/rotation = Quaternion(-0.898276, -0.00139739, 0.0107046, 0.439299) +bones/61/rotation = Quaternion(-0.322391, 0.118689, -0.033498, 0.938539) bones/61/scale = Vector3(1, 1, 1) bones/62/name = "LeftFoot" bones/62/parent = 61 bones/62/rest = Transform3D(1, 2.78454e-07, -1.41493e-07, -2.76279e-07, 0.577262, -0.816559, -1.45696e-07, 0.816559, 0.577262, 6.62281e-07, 44.5279, 6.18865e-08) bones/62/enabled = true bones/62/position = Vector3(6.62281e-07, 44.5279, 6.18865e-08) -bones/62/rotation = Quaternion(0.40896, -0.0618288, -0.11995, 0.902519) +bones/62/rotation = Quaternion(0.501358, -0.0276068, -0.0559521, 0.862988) bones/62/scale = Vector3(1, 1, 1) bones/63/name = "LeftToeBase" bones/63/parent = 62 bones/63/rest = Transform3D(1, 2.69095e-07, -3.98352e-08, -2.33773e-07, 0.775226, -0.631684, -1.39102e-07, 0.631683, 0.775226, 6.41195e-07, 13.8169, 3.10636e-07) bones/63/enabled = true bones/63/position = Vector3(6.41195e-07, 13.8169, 3.10636e-07) -bones/63/rotation = Quaternion(0.34735, -4.64981e-08, -4.88551e-08, 0.937736) +bones/63/rotation = Quaternion(0.354259, 0.0166236, -0.0238483, 0.934695) bones/63/scale = Vector3(1, 1, 1) bones/64/name = "LeftToe_End" bones/64/parent = 63 @@ -3746,6 +3745,14 @@ skin = SubResource("Skin_l3wpu") mesh = SubResource("ArrayMesh_1w418") skin = SubResource("Skin_l3wpu") +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Mesh/Armature/Skeleton3D"] +transform = Transform3D(0.997622, -0.0681419, -0.0103325, 0.0170896, 0.0993391, 0.994907, -0.0667685, -0.992718, 0.100267, -3.16332, 22.4968, -177.889) +bone_name = "HeadTop_End" +bone_idx = 6 + +[node name="CameraFPS" type="Camera3D" parent="Mesh/Armature/Skeleton3D/BoneAttachment3D"] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) + [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.908729, 0) shape = SubResource("CapsuleShape3D_mm42w") @@ -3758,6 +3765,7 @@ spring_length = 2.0 margin = 0.2 [node name="Camera3D" type="Camera3D" parent="SpringArmPivot/SpringArm3D"] +current = true [node name="AnimationPlayer" type="AnimationPlayer" parent="."] root_node = NodePath("../Mesh") diff --git a/godot/project.godot b/godot/project.godot index 613290d..a1d3742 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -11,7 +11,6 @@ config_version=5 [application] config/name="Blitz3" -config/tags=PackedStringArray() run/main_scene="res://Scenes/Levels/prototype.tscn" config/features=PackedStringArray("4.2", "Forward Plus") config/icon="res://icon.svg" @@ -20,7 +19,7 @@ config/icon="res://icon.svg" move_left={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"echo":false,"script":null) ] } move_right={ @@ -30,7 +29,7 @@ move_right={ } move_forwards={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"echo":false,"script":null) ] } move_backwards={ @@ -48,3 +47,8 @@ jump={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) ] } +switch_camera={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":116,"echo":false,"script":null) +] +} diff --git a/src/SpringArmPivot.cpp b/src/SpringArmPivot.cpp index 551ee06..b135ad8 100644 --- a/src/SpringArmPivot.cpp +++ b/src/SpringArmPivot.cpp @@ -28,6 +28,8 @@ SpringArmPivot::~SpringArmPivot() {} void SpringArmPivot::_ready() { m_SpringArm = Object::cast_to(get_child(0)); m_Camera = Object::cast_to(m_SpringArm->get_child(0)); + m_CameraFPS = get_parent()->get_node("Mesh/Armature/Skeleton3D/BoneAttachment3D/CameraFPS"); + DEV_ASSERT(m_SpringArm); DEV_ASSERT(m_Camera); if (!godot::Engine::get_singleton()->is_editor_hint()) { @@ -40,11 +42,22 @@ void SpringArmPivot::_unhandled_input(const godot::Ref& p_eve if (event) { rotate_y(-event->get_relative().x * 0.005); m_SpringArm->rotate_x(-event->get_relative().y * 0.005); + m_CameraFPS->rotate_x(event->get_relative().y * 0.005); godot::Vector3 rotationClamped = m_SpringArm->get_rotation(); rotationClamped.x = godot::UtilityFunctions::clamp(rotationClamped.x, -Math_PI / 4, Math_PI / 4); m_SpringArm->set_rotation(rotationClamped); } + + auto* keyboardevent = Object::cast_to(p_event.ptr()); + + if (keyboardevent->is_action_pressed("switch_camera")) { + if (m_Camera->is_current()) { + m_Camera->clear_current(); + } else { + m_Camera->make_current(); + } + } } void SpringArmPivot::_physics_process(float delta) { diff --git a/src/SpringArmPivot.h b/src/SpringArmPivot.h index 410b3ce..f2da4b5 100644 --- a/src/SpringArmPivot.h +++ b/src/SpringArmPivot.h @@ -1,9 +1,9 @@ #pragma once +#include #include #include #include -#include namespace blitz { class SpringArmPivot : public godot::Node3D { @@ -32,6 +32,7 @@ class SpringArmPivot : public godot::Node3D { private: godot::SpringArm3D* m_SpringArm; godot::Camera3D* m_Camera; + godot::Camera3D* m_CameraFPS; bool m_DynamicFOV = false; };