summaryrefslogtreecommitdiffstats
path: root/Chicken.tscn
diff options
context:
space:
mode:
Diffstat (limited to 'Chicken.tscn')
-rw-r--r--Chicken.tscn605
1 files changed, 605 insertions, 0 deletions
diff --git a/Chicken.tscn b/Chicken.tscn
new file mode 100644
index 0000000..06d1bdb
--- /dev/null
+++ b/Chicken.tscn
@@ -0,0 +1,605 @@
+[gd_scene load_steps=49 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://ChickenAnimation.gd" type="Script" id=4]
+
+[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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("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="SphereShape" id=67]
+
+[node name="Chicken" type="KinematicBody"]
+collision_layer = 4
+collision_mask = 5
+script = ExtResource( 3 )
+
+[node name="Belly" type="MeshInstance" parent="."]
+mesh = SubResource( 1 )
+material/0 = ExtResource( 1 )
+
+[node name="HeadPivot" type="Spatial" parent="Belly"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.657827, -0.749514 )
+
+[node name="Head" type="MeshInstance" parent="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="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="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="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="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="Belly"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.995677, 0, 0 )
+
+[node name="LeftWing" type="MeshInstance" parent="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="Belly"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.996, 0, 0 )
+
+[node name="RightWing" type="MeshInstance" parent="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
+script = ExtResource( 4 )
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+transform = Transform( 1, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.5, -0.5 )
+shape = SubResource( 67 )