From da7780fe818bb9755a017651398ea2da64dff0d6 Mon Sep 17 00:00:00 2001 From: SyntaX Date: Thu, 21 Nov 2019 13:31:52 +0100 Subject: [PATCH] animation for pill taking --- Characters/Player/PillTaker.gd | 11 +++++++++ Characters/Player/Player.tscn | 45 ++++++++++++++++++++++++++++------ 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/Characters/Player/PillTaker.gd b/Characters/Player/PillTaker.gd index b5221cf..e33efe9 100644 --- a/Characters/Player/PillTaker.gd +++ b/Characters/Player/PillTaker.gd @@ -1,5 +1,7 @@ extends Spatial +var _animation: AnimationPlayer + # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): @@ -7,3 +9,12 @@ func _process(delta): if Input.is_action_just_pressed("take_pill"): Pills.take_pill() Logger.info("Player took a pill; new level: %s" % [Pills.get_round_level()]) + _animation.play("PillTaking") + + #_animation.playback_speed = _vel.length() / MOVE_SPEED + #Logger.warn("speed: " + String(_animation.playback_speed)) + + +func _ready(): + _animation = get_parent().get_node("AnimationPlayer") as AnimationPlayer + assert(null != _animation) \ No newline at end of file diff --git a/Characters/Player/Player.tscn b/Characters/Player/Player.tscn index 4b1b6c6..4fbf5d9 100644 --- a/Characters/Player/Player.tscn +++ b/Characters/Player/Player.tscn @@ -25,13 +25,42 @@ shader_param/masked_view = SubResource( 1 ) [sub_resource type="Animation" id=5] resource_name = "PillTaking" -tracks/0/type = "transform" -tracks/0/path = NodePath("PillTaker/Pill") +tracks/0/type = "value" +tracks/0/path = NodePath("PillTaker/Pill:visible") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true -tracks/0/keys = PoolRealArray( ) +tracks/0/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ true, false ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("PillTaker/Pill:rotation_degrees") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 90, 0, 0 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("PillTaker/Pill:translation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, -1 ), Vector3( 0, 1, 0 ) ] +} [sub_resource type="Animation" id=6] length = 0.8 @@ -87,7 +116,7 @@ camera_nodepath = NodePath("Body/PillCameras") [node name="Body" type="Spatial" parent="."] [node name="PillCameras" type="Spatial" parent="Body"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0625, 1.85, 0 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.45058e-009, 1.8, 0 ) script = ExtResource( 2 ) [node name="LookingAt" type="RayCast" parent="Body/PillCameras"] @@ -103,7 +132,7 @@ size = Vector2( 1024, 600 ) render_target_update_mode = 3 [node name="TrueCamera" type="Camera" parent="Body/PillCameras/TrueView"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0625, 1.85, 0 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.45058e-009, 1.8, 0 ) cull_mask = 2 current = true @@ -112,7 +141,7 @@ size = Vector2( 1024, 600 ) render_target_update_mode = 3 [node name="MaskedCamera" type="Camera" parent="Body/PillCameras/MaskedView"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0625, 1.85, 0 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.45058e-009, 1.8, 0 ) cull_mask = 1 current = true @@ -133,6 +162,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) shape = SubResource( 4 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "Walk" anims/PillTaking = SubResource( 5 ) anims/Walk = SubResource( 6 ) @@ -151,7 +181,8 @@ pitch_scale = 1.5 script = ExtResource( 7 ) [node name="Pill" type="Spatial" parent="PillTaker"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1 ) +transform = Transform( 1, 0, 0, 0, -4.37114e-008, -1, 0, 1, -4.37114e-008, 0, 1, 0 ) +visible = false [node name="MeshInstance" type="MeshInstance" parent="PillTaker/Pill"] transform = Transform( 0.1, 0, 0, 0, -4.37114e-009, -0.1, 0, 0.1, -4.37114e-009, 0, 0, 0 )