[gd_scene load_steps=53 format=2] [ext_resource path="res://chicken.tres" type="Material" id=1] [ext_resource path="res://beak.tres" type="Material" id=2] [ext_resource path="res://Chicken.gd" type="Script" id=3] [ext_resource path="res://SmoothRotation.gd" type="Script" id=5] [ext_resource path="res://Detection.gd" type="Script" id=6] [sub_resource type="CapsuleShape" id=71] [sub_resource type="SphereMesh" id=1] [sub_resource type="SphereMesh" id=2] [sub_resource type="CubeMesh" id=3] [sub_resource type="CubeMesh" id=4] [sub_resource type="Animation" id=5] length = 0.001 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly/LeftWingPivot:translation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( -0.995677, 0, 0 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Model/Belly/LeftWingPivot: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 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Model/Belly/RightWingPivot:translation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0.996, 0, 0 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Model/Belly/RightWingPivot:rotation_degrees") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/4/type = "value" tracks/4/path = NodePath("Model/Belly/HeadPivot:rotation_degrees") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/5/type = "value" tracks/5/path = NodePath("Model/Belly/HeadPivot/Head/BeakTopPivot:rotation_degrees") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/6/type = "value" tracks/6/path = NodePath("Model/Belly/HeadPivot/Head/BeakBottomPivot:rotation_degrees") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/7/type = "value" tracks/7/path = NodePath("Model/Belly:rotation_degrees") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/imported = false tracks/7/enabled = true tracks/7/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/8/type = "value" tracks/8/path = NodePath("Model/Belly:translation") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/imported = false tracks/8/enabled = true tracks/8/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=6] resource_name = "flappybird" length = 2.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly/LeftWingPivot:translation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.5, 1.5, 2 ), "transitions": PoolRealArray( 1.51572, 0.450625, 1, 1.51572 ), "update": 0, "values": [ Vector3( -0.995677, 0, 0 ), Vector3( -0.995677, 0.0845447, 0 ), Vector3( -0.995677, -0.127906, 0 ), Vector3( -0.995677, 0, 0 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Model/Belly/LeftWingPivot: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, 0.5, 1.5, 2 ), "transitions": PoolRealArray( 1.51572, 0.450625, 1, 1.51572 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( 0, 0, -23.821 ), Vector3( 0, 0, 21.829 ), Vector3( 0, 0, 0 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Model/Belly/RightWingPivot:translation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0, 0.5, 1.5, 2 ), "transitions": PoolRealArray( 1.51572, 0.450625, 1, 1.51572 ), "update": 0, "values": [ Vector3( 0.996, 0, 0 ), Vector3( 0.996, 0.085, 0 ), Vector3( 0.996, -0.128, 0 ), Vector3( 0.996, 0, 0 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Model/Belly/RightWingPivot:rotation_degrees") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0, 0.5, 1.5, 2 ), "transitions": PoolRealArray( 1.51572, 0.450625, 1, 1.51572 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( 0, 0, 23.821 ), Vector3( 0, 0, -21.829 ), Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=9] resource_name = "hop" loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly:translation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.5, 1 ), "transitions": PoolRealArray( 0.378929, 3.13834, 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( 0, 0.510995, 0 ), Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=10] resource_name = "idle_bottom" length = 0.001 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly/LeftWingPivot:translation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( -0.995677, 0, 0 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Model/Belly/LeftWingPivot: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 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Model/Belly/RightWingPivot:translation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0.996, 0, 0 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Model/Belly/RightWingPivot:rotation_degrees") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=11] resource_name = "idle_hop" length = 0.001 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly:translation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=12] resource_name = "idle_top" length = 0.001 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly/HeadPivot:rotation_degrees") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Model/Belly/HeadPivot/Head/BeakTopPivot: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 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Model/Belly/HeadPivot/Head/BeakBottomPivot:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Model/Belly:rotation_degrees") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=7] resource_name = "peck" length = 3.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly/HeadPivot:rotation_degrees") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 1, 1.2, 1.4, 1.6, 1.8, 3 ), "transitions": PoolRealArray( 0.707107, 0.594604, 0.594604, 0.594604, 0.594604, 0.757858, 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( -18.871, 0, 0 ), Vector3( 3.071, 0, 0 ), Vector3( -18.871, 0, 0 ), Vector3( 3.071, 0, 0 ), Vector3( -18.871, 0, 0 ), Vector3( 0, 0, 0 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Model/Belly: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, 2, 3 ), "transitions": PoolRealArray( 0.707107, 1, 0.707107, 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( -29, 0, 0 ), Vector3( -29, 0, 0 ), Vector3( 0, 0, 0 ) ] } [sub_resource type="Animation" id=8] resource_name = "squack" length = 2.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath("Model/Belly/HeadPivot:rotation_degrees") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 1, 2 ), "transitions": PoolRealArray( 0.450625, 1, 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( 30.215, 0, 0 ), Vector3( 0, 0, 0 ) ] } tracks/1/type = "value" tracks/1/path = NodePath("Model/Belly/HeadPivot/Head/BeakTopPivot: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, 2 ), "transitions": PoolRealArray( 0.450625, 1, 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( 26.24, 0, 0 ), Vector3( 0, 0, 0 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Model/Belly/HeadPivot/Head/BeakBottomPivot:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0, 1, 2 ), "transitions": PoolRealArray( 0.450625, 1, 1 ), "update": 0, "values": [ Vector3( 0, 0, 0 ), Vector3( -18.246, 0, 0 ), Vector3( 0, 0, 0 ) ] } [sub_resource type="AnimationNodeAdd2" id=18] [sub_resource type="AnimationNodeAdd2" id=42] [sub_resource type="AnimationNodeAnimation" id=43] animation = "idle_top" [sub_resource type="AnimationNodeAnimation" id=44] animation = "idle_hop" [sub_resource type="AnimationNodeBlendTree" id=45] graph_offset = Vector2( -573, -15 ) nodes/Add2/node = SubResource( 42 ) nodes/Add2/position = Vector2( 100, 140 ) nodes/Animation/node = SubResource( 44 ) nodes/Animation/position = Vector2( -140, 100 ) "nodes/Animation 2/node" = SubResource( 43 ) "nodes/Animation 2/position" = Vector2( -160, 240 ) node_connections = [ "output", 0, "Add2", "Add2", 0, "Animation", "Add2", 1, "Animation 2" ] [sub_resource type="AnimationNodeAnimation" id=39] animation = "hop" [sub_resource type="AnimationNodeTimeScale" id=40] [sub_resource type="AnimationNodeBlendTree" id=41] graph_offset = Vector2( -427, -35 ) nodes/Animation/node = SubResource( 39 ) nodes/Animation/position = Vector2( -120, 120 ) nodes/TimeScale/node = SubResource( 40 ) nodes/TimeScale/position = Vector2( 100, 140 ) node_connections = [ "output", 0, "TimeScale", "TimeScale", 0, "Animation" ] [sub_resource type="AnimationNodeAnimation" id=46] animation = "peck" [sub_resource type="AnimationNodeTimeScale" id=47] [sub_resource type="AnimationNodeBlendTree" id=48] graph_offset = Vector2( -864, -12 ) nodes/Animation/node = SubResource( 46 ) nodes/Animation/position = Vector2( -140, 140 ) nodes/TimeScale/node = SubResource( 47 ) nodes/TimeScale/position = Vector2( 100, 140 ) node_connections = [ "output", 0, "TimeScale", "TimeScale", 0, "Animation" ] [sub_resource type="AnimationNodeAnimation" id=49] animation = "squack" [sub_resource type="AnimationNodeTimeScale" id=50] [sub_resource type="AnimationNodeBlendTree" id=51] graph_offset = Vector2( -290, -3 ) nodes/Animation/node = SubResource( 49 ) nodes/Animation/position = Vector2( -60, 160 ) nodes/TimeScale/node = SubResource( 50 ) nodes/TimeScale/position = Vector2( 140, 140 ) node_connections = [ "output", 0, "TimeScale", "TimeScale", 0, "Animation" ] [sub_resource type="AnimationNodeStateMachineTransition" id=52] [sub_resource type="AnimationNodeStateMachineTransition" id=53] switch_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id=54] [sub_resource type="AnimationNodeStateMachineTransition" id=55] switch_mode = 2 auto_advance = true [sub_resource type="AnimationNodeStateMachineTransition" id=56] switch_mode = 2 auto_advance = true [sub_resource type="AnimationNodeStateMachineTransition" id=57] [sub_resource type="AnimationNodeStateMachine" id=58] states/IDLE/node = SubResource( 45 ) states/IDLE/position = Vector2( 657, 146 ) states/MOVING/node = SubResource( 41 ) states/MOVING/position = Vector2( 657, 268 ) states/PECK/node = SubResource( 48 ) states/PECK/position = Vector2( 395, 146 ) states/SQUACK/node = SubResource( 51 ) states/SQUACK/position = Vector2( 952, 146 ) transitions = [ "IDLE", "MOVING", SubResource( 52 ), "MOVING", "IDLE", SubResource( 53 ), "IDLE", "SQUACK", SubResource( 54 ), "SQUACK", "IDLE", SubResource( 55 ), "PECK", "IDLE", SubResource( 56 ), "IDLE", "PECK", SubResource( 57 ) ] start_node = "IDLE" [sub_resource type="AnimationNodeAnimation" id=59] animation = "flappybird" [sub_resource type="AnimationNodeTimeScale" id=60] [sub_resource type="AnimationNodeBlendTree" id=61] graph_offset = Vector2( -405, 10 ) nodes/Animation/node = SubResource( 59 ) nodes/Animation/position = Vector2( -66.6667, 132.5 ) nodes/TimeScale/node = SubResource( 60 ) nodes/TimeScale/position = Vector2( 120, 140 ) node_connections = [ "output", 0, "TimeScale", "TimeScale", 0, "Animation" ] [sub_resource type="AnimationNodeAnimation" id=62] animation = "idle_bottom" [sub_resource type="AnimationNodeStateMachineTransition" id=63] [sub_resource type="AnimationNodeStateMachineTransition" id=64] switch_mode = 2 auto_advance = true [sub_resource type="AnimationNodeStateMachine" id=65] states/FLAP/node = SubResource( 61 ) states/FLAP/position = Vector2( 904, 144 ) states/IDLE/node = SubResource( 62 ) states/IDLE/position = Vector2( 674, 144 ) transitions = [ "IDLE", "FLAP", SubResource( 63 ), "FLAP", "IDLE", SubResource( 64 ) ] start_node = "IDLE" [sub_resource type="AnimationNodeBlendTree" id=16] graph_offset = Vector2( -847.136, -609 ) nodes/Add2/node = SubResource( 18 ) nodes/Add2/position = Vector2( 80, -480 ) nodes/output/position = Vector2( 300, -480 ) nodes/state/node = SubResource( 58 ) nodes/state/position = Vector2( -220, -380 ) nodes/wings/node = SubResource( 65 ) nodes/wings/position = Vector2( -220, -520 ) node_connections = [ "output", 0, "Add2", "Add2", 0, "wings", "Add2", 1, "state" ] [sub_resource type="AnimationNodeStateMachinePlayback" id=66] [sub_resource type="AnimationNodeStateMachinePlayback" id=38] [sub_resource type="CylinderShape" id=72] height = 10.0 [sub_resource type="CylinderMesh" id=73] height = 10.0 [sub_resource type="SpatialMaterial" id=70] flags_transparent = true albedo_color = Color( 0.894118, 0.027451, 0.027451, 0.156863 ) [node name="Chicken" type="KinematicBody"] collision_layer = 4 collision_mask = 5 script = ExtResource( 3 ) [node name="CollisionShape" type="CollisionShape" parent="."] transform = Transform( 1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 0, 0.3, -0.5 ) shape = SubResource( 71 ) [node name="Model" type="Spatial" parent="."] [node name="Belly" type="MeshInstance" parent="Model"] mesh = SubResource( 1 ) skeleton = NodePath("../..") material/0 = ExtResource( 1 ) [node name="HeadPivot" type="Spatial" parent="Model/Belly"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.657827, -0.749514 ) [node name="Head" type="MeshInstance" parent="Model/Belly/HeadPivot"] transform = Transform( 0.6, 0, 0, 0, 0.55438, 0.229484, 0, -0.229484, 0.55438, 0, 0.388057, -0.339644 ) mesh = SubResource( 2 ) skeleton = NodePath("../../../..") material/0 = ExtResource( 1 ) [node name="BeakTopPivot" type="Spatial" parent="Model/Belly/HeadPivot/Head"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.19209e-07, -0.965512 ) [node name="BeakTop" type="MeshInstance" parent="Model/Belly/HeadPivot/Head/BeakTopPivot"] transform = Transform( 0.3, 0, 0, 0, 0.1, 0, 0, 0, 0.5, 0, 0, -0.452 ) mesh = SubResource( 3 ) skeleton = NodePath("../..") material/0 = ExtResource( 2 ) [node name="BeakBottomPivot" type="Spatial" parent="Model/Belly/HeadPivot/Head"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.189294, -0.965511 ) [node name="BeakBottom" type="MeshInstance" parent="Model/Belly/HeadPivot/Head/BeakBottomPivot"] transform = Transform( 0.3, 0, 0, 0, 0.1, 0, 0, 0, 0.5, 0, 0, -0.452 ) mesh = SubResource( 3 ) skeleton = NodePath("../..") material/0 = ExtResource( 2 ) [node name="LeftWingPivot" type="Spatial" parent="Model/Belly"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.995677, 0, 0 ) [node name="LeftWing" type="MeshInstance" parent="Model/Belly/LeftWingPivot"] transform = Transform( 0.5, 0, 0, 0, 0.1, 0, 0, 0, 0.3, -0.377, 0, 0 ) mesh = SubResource( 4 ) skeleton = NodePath("../../../..") material/0 = ExtResource( 1 ) [node name="RightWingPivot" type="Spatial" parent="Model/Belly"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.996, 0, 0 ) [node name="RightWing" type="MeshInstance" parent="Model/Belly/RightWingPivot"] transform = Transform( 0.5, 0, 0, 0, 0.1, 0, 0, 0, 0.3, 0.352, 0, 0 ) mesh = SubResource( 4 ) skeleton = NodePath("../../../..") material/0 = ExtResource( 1 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/RESET = SubResource( 5 ) anims/flappybird = SubResource( 6 ) anims/hop = SubResource( 9 ) anims/idle_bottom = SubResource( 10 ) anims/idle_hop = SubResource( 11 ) anims/idle_top = SubResource( 12 ) anims/peck = SubResource( 7 ) anims/squack = SubResource( 8 ) [node name="AnimationTree" type="AnimationTree" parent="."] tree_root = SubResource( 16 ) anim_player = NodePath("../AnimationPlayer") active = true parameters/Add2/add_amount = 1.0 parameters/state/playback = SubResource( 66 ) parameters/state/IDLE/Add2/add_amount = 0 parameters/state/MOVING/TimeScale/scale = 1.0 parameters/state/PECK/TimeScale/scale = 2.0 parameters/state/SQUACK/TimeScale/scale = 1.0 parameters/wings/playback = SubResource( 38 ) parameters/wings/FLAP/TimeScale/scale = 2.0 [node name="SmoothRotation" type="Tween" parent="."] script = ExtResource( 5 ) [node name="Detection" type="Area" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 ) visible = false collision_layer = 0 collision_mask = 2 script = ExtResource( 6 ) [node name="CollisionShape" type="CollisionShape" parent="Detection"] shape = SubResource( 72 ) [node name="Radar" type="MeshInstance" parent="Detection"] mesh = SubResource( 73 ) material/0 = SubResource( 70 ) [connection signal="body_entered" from="Detection" to="." method="_on_Detection_body_entered"] [connection signal="body_exited" from="Detection" to="." method="_on_Detection_body_exited"]