diff --git a/blends/giant.blend b/blends/giant.blend index 4230430..2907cae 100644 Binary files a/blends/giant.blend and b/blends/giant.blend differ diff --git a/blends/giant.blend1 b/blends/giant.blend1 new file mode 100644 index 0000000..ecdcf26 Binary files /dev/null and b/blends/giant.blend1 differ diff --git a/godot/Holster.gd b/godot/Holster.gd new file mode 100644 index 0000000..0cc6711 --- /dev/null +++ b/godot/Holster.gd @@ -0,0 +1,7 @@ +extends Node3D + +func _ready(): + set_as_top_level(true) + +func _process(delta): + global_transform.origin = $"../grape_man".get_pickup_bone_location() diff --git a/godot/Models/grape_animations/upper_body_holding.res b/godot/Models/grape_animations/upper_body_holding.res index 61761e3..bc0655b 100644 Binary files a/godot/Models/grape_animations/upper_body_holding.res and b/godot/Models/grape_animations/upper_body_holding.res differ diff --git a/godot/Models/grape_animations/upper_body_idle.res.res b/godot/Models/grape_animations/upper_body_idle.res similarity index 79% rename from godot/Models/grape_animations/upper_body_idle.res.res rename to godot/Models/grape_animations/upper_body_idle.res index a023e5d..e78638a 100644 Binary files a/godot/Models/grape_animations/upper_body_idle.res.res and b/godot/Models/grape_animations/upper_body_idle.res differ diff --git a/godot/Models/grape_man.gd b/godot/Models/grape_man.gd index 5beed9c..f04b025 100644 --- a/godot/Models/grape_man.gd +++ b/godot/Models/grape_man.gd @@ -35,9 +35,6 @@ func get_pickup_bone_location() -> Vector3: var trans = $rig/Skeleton3D.global_transform * $rig/Skeleton3D.get_bone_global_pose(pickup_bone_idx) return trans.origin -func _process(_delta): - print(get_pickup_bone_location()) - func animation_key_pickup_completed(): pickup_animation_in_progress = false emit_signal("pickup_animation_finished") diff --git a/godot/Models/grape_man.glb b/godot/Models/grape_man.glb index c21386a..678075b 100644 --- a/godot/Models/grape_man.glb +++ b/godot/Models/grape_man.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c07b7b68ef5daf21301084c31b4e5cc47f06d9c67a10aa4038853fb36ca14cf -size 659020 +oid sha256:d288ac266d2e97f2cb3fa162a485f99878cb6c9b0dc218c674a7914b3295f549 +size 659024 diff --git a/godot/Models/grape_man.glb.import b/godot/Models/grape_man.glb.import index d25c2b6..8e4e417 100644 --- a/godot/Models/grape_man.glb.import +++ b/godot/Models/grape_man.glb.import @@ -5430,7 +5430,7 @@ _subresources={ "UpperBodyIdle": { "save_to_file/enabled": true, "save_to_file/keep_custom_tracks": true, -"save_to_file/path": "res://Models/grape_animations/upper_body_idle.res.res", +"save_to_file/path": "res://Models/grape_animations/upper_body_idle.res", "settings/loop_mode": 0, "slice_1/end_frame": 0, "slice_1/loop_mode": 0, diff --git a/godot/Models/grape_man.tscn b/godot/Models/grape_man.tscn index 1093831..3e88855 100644 --- a/godot/Models/grape_man.tscn +++ b/godot/Models/grape_man.tscn @@ -4,7 +4,6 @@ [ext_resource type="Script" path="res://Models/grape_man.gd" id="2_ksje8"] [sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_a0vxm"] -filter_enabled = true filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_s8uqe"] @@ -14,7 +13,7 @@ animation = &"UpperBodyIdle" animation = &"Idle" [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ojr1k"] -graph_offset = Vector2(-312, -69) +graph_offset = Vector2(-74, 44) nodes/Add2/node = SubResource("AnimationNodeAdd2_a0vxm") nodes/Add2/position = Vector2(160, 80) nodes/Animation/node = SubResource("AnimationNodeAnimation_4ft7i") @@ -24,7 +23,6 @@ nodes/Animation/position = Vector2(0, 80) node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, &"Animation 2"] [sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_4gk6k"] -filter_enabled = true filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_alnh1"] @@ -48,7 +46,6 @@ node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, animation = &"Pickup" [sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_rd6bn"] -filter_enabled = true filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7s7tg"] @@ -58,7 +55,7 @@ animation = &"UpperBodyIdle" animation = &"Walk" [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6rmmo"] -graph_offset = Vector2(-358.186, -79.7423) +graph_offset = Vector2(-384.186, 6.2577) nodes/Add2/node = SubResource("AnimationNodeAdd2_rd6bn") nodes/Add2/position = Vector2(140, 80) nodes/Animation/node = SubResource("AnimationNodeAnimation_ir63n") @@ -68,7 +65,6 @@ nodes/Animation/position = Vector2(-40, 60) node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, &"Animation 2"] [sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_sv87c"] -filter_enabled = true filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y7bu0"] @@ -147,14 +143,14 @@ states/WalkEmpty/position = Vector2(548, 208) states/WalkHold/node = SubResource("AnimationNodeBlendTree_kalnq") states/WalkHold/position = Vector2(351, 323) transitions = ["Start", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_8sw6d"), "IdleEmpty", "WalkHold", SubResource("AnimationNodeStateMachineTransition_71rn8"), "WalkHold", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_cp7lp"), "WalkEmpty", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_27n2r"), "IdleEmpty", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_v26jl"), "IdleHold", "WalkHold", SubResource("AnimationNodeStateMachineTransition_u0rau"), "IdleHold", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_1hqga"), "WalkEmpty", "IdleHold", SubResource("AnimationNodeStateMachineTransition_uekhs"), "WalkHold", "IdleHold", SubResource("AnimationNodeStateMachineTransition_652wi"), "IdleEmpty", "Pickup", SubResource("AnimationNodeStateMachineTransition_sdgve"), "Pickup", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_otprv"), "IdleEmpty", "IdleHold", SubResource("AnimationNodeStateMachineTransition_fbwhh"), "IdleHold", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_4rq7a"), "WalkHold", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_oange"), "WalkEmpty", "WalkHold", SubResource("AnimationNodeStateMachineTransition_et4tx"), "Pickup", "IdleHold", SubResource("AnimationNodeStateMachineTransition_y2dr5")] -graph_offset = Vector2(26, 89) +graph_offset = Vector2(3, 172) [node name="grape_man" instance=ExtResource("1_fh5yr")] transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, 0, 0, 0) script = ExtResource("2_ksje8") [node name="Skeleton3D" parent="rig" index="0"] -bones/0/rotation = Quaternion(0.0889488, 0, 0, 0.996036) +bones/0/rotation = Quaternion(0.0970975, 0, 0, 0.995275) bones/1/rotation = Quaternion(-0.0891896, 1.18734e-07, -1.06322e-08, 0.996015) bones/2/rotation = Quaternion(0.0133933, -1.19199e-07, 1.5966e-09, 0.99991) bones/3/rotation = Quaternion(-0.00997737, 0.100365, -0.694951, 0.711948) diff --git a/godot/player.tscn b/godot/player.tscn index c4044d8..46976f9 100644 --- a/godot/player.tscn +++ b/godot/player.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=4 format=3 uid="uid://7utef1nnena8"] +[gd_scene load_steps=6 format=3 uid="uid://7utef1nnena8"] [ext_resource type="Script" path="res://Player.gd" id="1_7gpdp"] [ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="2_hg0av"] +[ext_resource type="Script" path="res://Holster.gd" id="3_a68da"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kb4ms"] +[sub_resource type="SphereShape3D" id="SphereShape3D_6l1w6"] + [node name="Player" type="CharacterBody3D"] script = ExtResource("1_7gpdp") @@ -21,4 +24,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.39043) current = true fov = 50.0 +[node name="Holster" type="Node3D" parent="."] +script = ExtResource("3_a68da") + +[node name="Area3D" type="Area3D" parent="Holster"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Holster/Area3D"] +transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) +shape = SubResource("SphereShape3D_6l1w6") + [connection signal="anim_check_grab" from="grape_man" to="." method="_on_grape_man_anim_check_grab"]