Compare commits
No commits in common. "7adfcc2766c65075bbd3a509a693d8c90271c96c" and "8abfb9123731a859b40f2af2fb97a35479494950" have entirely different histories.
7adfcc2766
...
8abfb91237
|
@ -1,7 +0,0 @@
|
|||
extends Node3D
|
||||
|
||||
func _ready():
|
||||
set_as_top_level(true)
|
||||
|
||||
func _process(delta):
|
||||
global_transform.origin = $"../grape_man".get_pickup_bone_location()
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,7 +1,6 @@
|
|||
extends Node3D
|
||||
|
||||
@onready var animation: AnimationNodeStateMachinePlayback = $AnimationTree.get("parameters/playback")
|
||||
@onready var pickup_bone_idx = $rig/Skeleton3D.find_bone("PickupBone")
|
||||
|
||||
signal anim_check_grab(position: Vector3)
|
||||
|
||||
|
@ -29,12 +28,8 @@ func idle_hold():
|
|||
animation.travel("IdleHold")
|
||||
|
||||
func animation_key_grab():
|
||||
emit_signal("anim_check_grab", get_pickup_bone_location())
|
||||
|
||||
func get_pickup_bone_location() -> Vector3:
|
||||
var trans = $rig/Skeleton3D.global_transform * $rig/Skeleton3D.get_bone_global_pose(pickup_bone_idx)
|
||||
return trans.origin
|
||||
|
||||
emit_signal("anim_check_grab", $GrabPointLocation.global_transform)
|
||||
|
||||
func animation_key_pickup_completed():
|
||||
pickup_animation_in_progress = false
|
||||
emit_signal("pickup_animation_finished")
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
[gd_scene load_steps=40 format=3 uid="uid://bgoo1lbt28na"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://bgoo1lbt28na"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bhanbx2dyhv2d" path="res://Models/grape_man.glb" id="1_fh5yr"]
|
||||
[ext_resource type="Script" path="res://Models/grape_man.gd" id="2_ksje8"]
|
||||
[ext_resource type="AudioStream" uid="uid://csboqs15k3vps" path="res://Sounds/dropgrunt.ogg" id="3_c648b"]
|
||||
[ext_resource type="AudioStream" uid="uid://baocyd0p3jcku" path="res://Sounds/pickup_grunt.ogg" id="4_nvurj"]
|
||||
[ext_resource type="AudioStream" uid="uid://b80t5xqckjoqk" path="res://Sounds/heartychuckle.ogg" id="5_b32re"]
|
||||
|
||||
[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"]
|
||||
|
@ -16,7 +14,7 @@ animation = &"UpperBodyIdle"
|
|||
animation = &"Idle"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ojr1k"]
|
||||
graph_offset = Vector2(-74, 44)
|
||||
graph_offset = Vector2(-312, -69)
|
||||
nodes/Add2/node = SubResource("AnimationNodeAdd2_a0vxm")
|
||||
nodes/Add2/position = Vector2(160, 80)
|
||||
nodes/Animation/node = SubResource("AnimationNodeAnimation_4ft7i")
|
||||
|
@ -26,6 +24,7 @@ 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"]
|
||||
|
@ -49,6 +48,7 @@ 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 +58,7 @@ animation = &"UpperBodyIdle"
|
|||
animation = &"Walk"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6rmmo"]
|
||||
graph_offset = Vector2(-384.186, 6.2577)
|
||||
graph_offset = Vector2(-358.186, -79.7423)
|
||||
nodes/Add2/node = SubResource("AnimationNodeAdd2_rd6bn")
|
||||
nodes/Add2/position = Vector2(140, 80)
|
||||
nodes/Animation/node = SubResource("AnimationNodeAnimation_ir63n")
|
||||
|
@ -68,6 +68,7 @@ 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"]
|
||||
|
@ -146,14 +147,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(3, 172)
|
||||
graph_offset = Vector2(26, 89)
|
||||
|
||||
[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.10292, 0, 0, 0.99469)
|
||||
bones/0/rotation = Quaternion(0.0889611, 0, 0, 0.996035)
|
||||
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)
|
||||
|
@ -180,12 +181,3 @@ parameters/IdleEmpty/Add2/add_amount = 1.0
|
|||
parameters/IdleHold/Add2/add_amount = 1.0
|
||||
parameters/WalkEmpty/Add2/add_amount = 1.0
|
||||
parameters/WalkHold/Add2/add_amount = 1.0
|
||||
|
||||
[node name="drop" type="AudioStreamPlayer" parent="." index="5"]
|
||||
stream = ExtResource("3_c648b")
|
||||
|
||||
[node name="pickup" type="AudioStreamPlayer" parent="." index="6"]
|
||||
stream = ExtResource("4_nvurj")
|
||||
|
||||
[node name="chuckle" type="AudioStreamPlayer" parent="." index="7"]
|
||||
stream = ExtResource("5_b32re")
|
||||
|
|
|
@ -35,9 +35,7 @@ func _input(event):
|
|||
var obj = holding.get_ref()
|
||||
if obj:
|
||||
holding = weakref(null)
|
||||
$grape_man/drop.play()
|
||||
else:
|
||||
$grape_man/pickup.play()
|
||||
$grape_man.pickup()
|
||||
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ force/max_rate=false
|
|||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=2
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
||||
|
|
|
@ -18,7 +18,7 @@ force/max_rate=false
|
|||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=2
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://7utef1nnena8"]
|
||||
[gd_scene load_steps=4 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_ctyy5"]
|
||||
[ext_resource type="Script" path="res://Holster.gd" id="3_a68da"]
|
||||
[ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="2_hg0av"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kb4ms"]
|
||||
radius = 0.06
|
||||
height = 0.43
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_6l1w6"]
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
script = ExtResource("1_7gpdp")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.21, 0)
|
||||
transform = Transform3D(0.225, 0, 0, 0, 0.225, 0, 0, 0, 0.145, 0, 0.21, 0)
|
||||
shape = SubResource("CapsuleShape3D_kb4ms")
|
||||
|
||||
[node name="grape_man" parent="." instance=ExtResource("2_ctyy5")]
|
||||
[node name="grape_man" parent="." instance=ExtResource("2_hg0av")]
|
||||
|
||||
[node name="CameraMount" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0)
|
||||
|
@ -27,11 +24,4 @@ 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"]
|
||||
|
|
|
@ -6,11 +6,13 @@
|
|||
|
||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_b3srs"]
|
||||
|
||||
[node name="CharacterBody3D" type="CharacterBody3D"]
|
||||
[node name="Node3D" type="Node3D"]
|
||||
script = ExtResource("1_ardgw")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
[node name="RigidBody3D" type="RigidBody3D" parent="."]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
|
||||
shape = SubResource("CapsuleShape3D_s4x8n")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="RigidBody3D/CollisionShape3D"]
|
||||
mesh = SubResource("CapsuleMesh_b3srs")
|
||||
|
|
Loading…
Reference in New Issue