added first cassette hand model

This commit is contained in:
2025-08-17 02:58:15 +10:00
parent 3dedd1f5af
commit cdb8e4dbcd
16 changed files with 170 additions and 35 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=74 format=3 uid="uid://dxgxbtf68lcv5"]
[gd_scene load_steps=80 format=3 uid="uid://dxgxbtf68lcv5"]
[ext_resource type="Script" uid="uid://1fqpoegbdm6n" path="res://PCs/hero.gd" id="1_pihpe"]
[ext_resource type="Resource" uid="uid://b5pc3frhx467q" path="res://Classes/Engineer/class.tres" id="2_dbyo0"]
@@ -18,6 +18,10 @@
[ext_resource type="PackedScene" uid="uid://rc0qcrcbmw7p" path="res://gauntlet.glb" id="11_h1yfy"]
[ext_resource type="PackedScene" uid="uid://ckl5tw5rmewhp" path="res://left_hand/card_hand_model.glb" id="11_h82f6"]
[ext_resource type="Script" uid="uid://ckkioruqgbs8p" path="res://Scripts/minimap_cam.gd" id="12_3hpi3"]
[ext_resource type="PackedScene" uid="uid://clgbmveluyewe" path="res://card_hand.glb" id="12_r2yb6"]
[ext_resource type="PackedScene" uid="uid://4g0vatb73duj" path="res://cassette.glb" id="13_7immr"]
[ext_resource type="Texture2D" uid="uid://b6iego7256jf2" path="res://Assets/Textures/wavecounter.png" id="14_l34nu"]
[ext_resource type="PackedScene" uid="uid://24x18qxqhy0i" path="res://Scenes/UI/lives_bar.tscn" id="15_cqpib"]
[ext_resource type="Texture2D" uid="uid://c60fh34ttgcvh" path="res://Assets/Textures/minimap_player.png" id="15_nhlam"]
[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="15_q3yot"]
[ext_resource type="Texture2D" uid="uid://cqnapc8cscl7i" path="res://Assets/Textures/border.png" id="16_x1xjr"]
@@ -73,7 +77,7 @@ animation = &"point"
[sub_resource type="AnimationNodeBlend3" id="AnimationNodeBlend3_o55s8"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hueaw"]
graph_offset = Vector2(-465.524, 74.1432)
graph_offset = Vector2(-524.007, 53.6952)
nodes/Animation/node = SubResource("AnimationNodeAnimation_r2yb6")
nodes/Animation/position = Vector2(-80, 120)
"nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_o55s8")
@@ -85,6 +89,24 @@ nodes/Blend3/position = Vector2(200, 140)
nodes/output/position = Vector2(460, 140)
node_connections = [&"Blend3", 0, &"Animation", &"Blend3", 1, &"Animation 2", &"Blend3", 2, &"Animation 3", &"output", 0, &"Blend3"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hueaw"]
animation = &"card_hand_read"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p46gp"]
animation = &"card_hand_away"
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4eel5"]
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_xav2s"]
graph_offset = Vector2(-384.382, 132.11)
nodes/Animation/node = SubResource("AnimationNodeAnimation_p46gp")
nodes/Animation/position = Vector2(-147.04, 210.816)
"nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_hueaw")
"nodes/Animation 2/position" = Vector2(-120, 380)
nodes/Blend2/node = SubResource("AnimationNodeBlend2_4eel5")
nodes/Blend2/position = Vector2(120, 200)
node_connections = [&"Blend2", 0, &"Animation 2", &"Blend2", 1, &"Animation", &"output", 0, &"Blend2"]
[sub_resource type="ViewportTexture" id="ViewportTexture_v8f6r"]
viewport_path = NodePath("FirstPersonViewport/Head2/LeftHand/SubViewport2")
@@ -146,7 +168,7 @@ stream_0/stream = ExtResource("36_lsvj8")
streams_count = 1
stream_0/stream = ExtResource("37_kv1mg")
[node name="Hero" type="CharacterBody3D" node_paths=PackedStringArray("camera", "gun_camera", "left_hand", "right_hand", "edit_tool", "carding_tool", "sprite", "interaction_raycast", "draw_pile", "hand", "discard_pile", "gauntlet_cards", "hud", "movement", "player_name_tag", "weapon_swap_timer", "editing_states", "fighting_state", "default_state", "ears", "place_card_audio", "swap_card_audio", "ready_audio", "unready_audio", "fullpower_audio", "zeropower_audio", "swap_off_audio", "swap_on_audio", "anim_tree", "weapon_pivot")]
[node name="Hero" type="CharacterBody3D" node_paths=PackedStringArray("camera", "gun_camera", "left_hand", "right_hand", "edit_tool", "carding_tool", "sprite", "interaction_raycast", "draw_pile", "hand", "discard_pile", "gauntlet_cards", "hud", "movement", "player_name_tag", "weapon_swap_timer", "editing_states", "fighting_state", "default_state", "ears", "place_card_audio", "swap_card_audio", "ready_audio", "unready_audio", "fullpower_audio", "zeropower_audio", "swap_off_audio", "swap_on_audio", "anim_tree", "anim_tree2", "weapon_pivot", "cassette", "left_hand_model", "gauntlet_model")]
collision_layer = 2
collision_mask = 37
script = ExtResource("1_pihpe")
@@ -183,7 +205,11 @@ zeropower_audio = NodePath("ZeroPowerAudio")
swap_off_audio = NodePath("SwapOffAudio")
swap_on_audio = NodePath("SwapOnAudio")
anim_tree = NodePath("FirstPersonViewport/Head2/RightHand/AnimationTree")
weapon_pivot = NodePath("FirstPersonViewport/Head2/RightHand/WeaponPivot")
anim_tree2 = NodePath("FirstPersonViewport/Head2/RightHand/AnimationTree2")
weapon_pivot = NodePath("FirstPersonViewport/Head2/RightHand/gauntlet/Empty")
cassette = NodePath("FirstPersonViewport/Head2/RightHand/card_hand/Empty_001")
left_hand_model = NodePath("FirstPersonViewport/Head2/RightHand/card_hand")
gauntlet_model = NodePath("FirstPersonViewport/Head2/RightHand/gauntlet")
[node name="AudioListener3D" type="AudioListener3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
@@ -228,41 +254,37 @@ render_target_update_mode = 4
[node name="Head2" type="Camera3D" parent="FirstPersonViewport" node_paths=PackedStringArray("clone_camera")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.62, 0)
cull_mask = 2
fov = 60.0
script = ExtResource("11_4sdwe")
clone_camera = NodePath("../../ViewMovement/Head")
[node name="RightHand" type="Node3D" parent="FirstPersonViewport/Head2" node_paths=PackedStringArray("player")]
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0.17, -0.085, -0.195)
script = ExtResource("7_14ugt")
player = NodePath("../../..")
enable_strafe_tilt = true
tilt_amount_x = 12.0
tilt_amount_y = 3.0
weapon_rotation_amount = 0.001
[node name="WeaponPivot" type="Node3D" parent="FirstPersonViewport/Head2/RightHand"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0414536, 0.0611196, -0.21211)
tilt_amount_x = 4.0
tilt_amount_y = 1.0
weapon_rotation_amount = 0.15
[node name="gauntlet" parent="FirstPersonViewport/Head2/RightHand" instance=ExtResource("11_h1yfy")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -0.136704)
[node name="Skeleton3D" parent="FirstPersonViewport/Head2/RightHand/gauntlet/Armature_001" index="0"]
bones/0/position = Vector3(0.447738, -0.00470265, -0.00198592)
bones/0/rotation = Quaternion(0.00247606, 0.00245146, 0.70252, 0.711655)
bones/0/position = Vector3(0.312927, -0.266864, 0.177738)
bones/0/rotation = Quaternion(-0.495006, -0.501483, 0.498508, 0.50495)
bones/4/rotation = Quaternion(0.105534, 0.106025, 0.700766, 0.69753)
bones/5/rotation = Quaternion(0.288152, -0.000666995, -0.00221661, 0.957582)
bones/6/rotation = Quaternion(0.399595, -0.00287466, -0.00659437, 0.916663)
bones/5/rotation = Quaternion(0.288152, -0.000667012, -0.0022166, 0.957582)
bones/6/rotation = Quaternion(0.399595, -0.00287464, -0.00659437, 0.916663)
bones/7/rotation = Quaternion(0.199494, 0.196378, 0.673471, 0.68416)
bones/8/rotation = Quaternion(0.707098, 0.00349973, 0.00349977, 0.707098)
bones/9/rotation = Quaternion(0.465232, 0.00294272, 0.005599, 0.885166)
bones/12/rotation = Quaternion(0.204347, -0.197904, -0.666953, 0.688659)
bones/13/rotation = Quaternion(0.565223, -0.00627945, -0.00916402, 0.824864)
bones/14/rotation = Quaternion(0.251991, 0.00117743, 0.00452201, 0.967718)
bones/8/rotation = Quaternion(0.707098, 0.00349967, 0.00349983, 0.707098)
bones/9/rotation = Quaternion(0.465232, 0.00294277, 0.00559902, 0.885166)
bones/12/rotation = Quaternion(0.204347, -0.197904, -0.666952, 0.688659)
bones/13/rotation = Quaternion(0.565223, -0.00627945, -0.00916398, 0.824864)
bones/14/rotation = Quaternion(0.251991, 0.00117754, 0.0045221, 0.967718)
bones/15/rotation = Quaternion(0.204079, -0.198503, -0.668395, 0.687166)
bones/16/rotation = Quaternion(0.707103, 0.00233569, 0.00233565, 0.707103)
bones/17/rotation = Quaternion(0.418178, 0.00746156, 0.0162048, 0.90819)
bones/18/rotation = Quaternion(0.614035, -0.337092, -0.360225, 0.616091)
bones/19/rotation = Quaternion(0.00975128, -0.00888968, 0.673639, 0.738943)
bones/16/rotation = Quaternion(0.707103, 0.00233569, 0.00233561, 0.707103)
bones/17/rotation = Quaternion(0.418178, 0.00746158, 0.0162049, 0.90819)
bones/18/rotation = Quaternion(0.614034, -0.337092, -0.360224, 0.616091)
bones/19/rotation = Quaternion(0.00975128, -0.00888963, 0.673639, 0.738943)
[node name="Cube" parent="FirstPersonViewport/Head2/RightHand/gauntlet/Armature_001/Skeleton3D" index="0"]
layers = 2
@@ -273,12 +295,64 @@ layers = 2
[node name="door_001" parent="FirstPersonViewport/Head2/RightHand/gauntlet/Armature_001/Skeleton3D" index="2"]
layers = 2
[node name="card_hand" parent="FirstPersonViewport/Head2/RightHand" instance=ExtResource("12_r2yb6")]
[node name="Skeleton3D" parent="FirstPersonViewport/Head2/RightHand/card_hand/Armature" index="0"]
bones/0/position = Vector3(0.00370948, 0.144461, 0.0423932)
bones/0/rotation = Quaternion(-0.0391611, -0.00947923, 0.737992, 0.673606)
bones/1/rotation = Quaternion(0.0338271, 0.0201532, -0.0371976, 0.998532)
bones/2/rotation = Quaternion(0.460072, -0.11526, -0.0853452, 0.876222)
bones/3/rotation = Quaternion(-0.571883, 0.00151041, -0.0240652, 0.819981)
bones/4/rotation = Quaternion(-0.00496447, 0.00126425, -0.00114584, 0.999986)
bones/5/rotation = Quaternion(0.00475987, 8.9174e-05, 0.00118572, 0.999988)
bones/6/rotation = Quaternion(0.13855, -0.0722045, -0.110921, 0.981472)
bones/7/rotation = Quaternion(-0.222755, 0.00347345, -0.0158867, 0.974739)
bones/8/rotation = Quaternion(-0.00540255, 0.000807132, -0.00116538, 0.999984)
bones/9/rotation = Quaternion(0.00470942, -3.6807e-05, 0.00099874, 0.999988)
bones/10/rotation = Quaternion(-0.263079, -0.00749409, -0.127804, 0.956242)
bones/11/rotation = Quaternion(0.2204, 0.00166266, -0.0429505, 0.974462)
bones/12/rotation = Quaternion(-0.00394014, 0.000219108, -0.00391899, 0.999985)
bones/13/rotation = Quaternion(0.00445528, -3.48858e-06, 0.00258535, 0.999987)
bones/14/rotation = Quaternion(-0.554344, 0.0420024, -0.132671, 0.820571)
bones/15/rotation = Quaternion(0.584753, 0.0282596, -0.0690429, 0.807774)
bones/16/rotation = Quaternion(0.00422172, -0.0013603, -0.00748737, 0.999962)
bones/17/rotation = Quaternion(-0.00197008, -0.000141479, 0.00416674, 0.999989)
bones/18/rotation = Quaternion(0.298165, 0.120246, -0.229269, 0.918735)
bones/19/rotation = Quaternion(-0.619662, -0.00187954, -0.0190912, 0.784634)
bones/20/position = Vector3(-2.12271, 0.354092, -0.125472)
bones/20/rotation = Quaternion(0.267825, 0.267825, 0.654423, 0.654423)
bones/21/position = Vector3(-3.18228, 0.391216, 0.0190402)
bones/21/rotation = Quaternion(0.090506, 0.0905062, 0.701291, 0.701291)
bones/22/position = Vector3(-3.29985, 0.391216, -0.162901)
bones/22/rotation = Quaternion(-0.00675297, -0.00675283, 0.707075, 0.707075)
bones/23/position = Vector3(-3.07121, 0.391216, -0.296884)
bones/23/rotation = Quaternion(-0.0448905, -0.0448907, 0.70568, 0.70568)
bones/24/position = Vector3(-2.8037, 0.391216, -0.415596)
bones/24/rotation = Quaternion(-0.084565, -0.0845652, 0.702032, 0.702032)
[node name="Body_004" parent="FirstPersonViewport/Head2/RightHand/card_hand/Armature/Skeleton3D" index="0"]
layers = 2
[node name="Empty_001" parent="FirstPersonViewport/Head2/RightHand/card_hand" index="1"]
transform = Transform3D(0.996286, -0.0860546, -0.00298578, -0.00927826, -0.0728151, -0.997302, 0.0856051, 0.993626, -0.0733431, -0.086853, -0.100784, -0.288736)
[node name="cassette" parent="FirstPersonViewport/Head2/RightHand/card_hand/Empty_001" index="0" instance=ExtResource("13_7immr")]
[node name="Cassette" parent="FirstPersonViewport/Head2/RightHand/card_hand/Empty_001/cassette" index="0"]
layers = 2
[node name="AnimationTree" type="AnimationTree" parent="FirstPersonViewport/Head2/RightHand"]
root_node = NodePath("../gauntlet")
tree_root = SubResource("AnimationNodeBlendTree_hueaw")
anim_player = NodePath("../gauntlet/AnimationPlayer")
parameters/Blend3/blend_amount = 1.0
[node name="AnimationTree2" type="AnimationTree" parent="FirstPersonViewport/Head2/RightHand"]
root_node = NodePath("../card_hand")
tree_root = SubResource("AnimationNodeBlendTree_xav2s")
anim_player = NodePath("../card_hand/AnimationPlayer")
parameters/Blend2/blend_amount = 0.0
[node name="LeftHand" type="Node3D" parent="FirstPersonViewport/Head2"]
transform = Transform3D(0.235, 0, 0, 0, 0.235, 0, 0, 0, 0.235, -0.645, -0.26, -1.04)
@@ -898,5 +972,7 @@ size = 2.243
[connection signal="timeout" from="WeaponSwapTimer" to="." method="_on_timer_timeout"]
[editable path="FirstPersonViewport/Head2/RightHand/gauntlet"]
[editable path="FirstPersonViewport/Head2/RightHand/card_hand"]
[editable path="FirstPersonViewport/Head2/RightHand/card_hand/Empty_001/cassette"]
[editable path="FirstPersonViewport/Head2/LeftHand/card_hand_model"]
[editable path="CoinViewport/Coin"]