Переглянути джерело

Updated Sprite Sheet. Added to player animation system.

master
Bryan Miller 4 роки тому
джерело
коміт
56bd6558cf
6 змінених файлів з 756 додано та 8 видалено
  1. +2
    -2
      .import/SS_001.png-281c2a0ad002919a510b75b2860e9206.md5
  2. BIN
      .import/SS_001.png-281c2a0ad002919a510b75b2860e9206.stex
  3. +23
    -0
      Data/Anims/Player_Breathing.tres
  4. BIN
      Data/Graphics/SS_001.png
  5. +726
    -5
      Data/Objects/Player.tscn
  6. +5
    -1
      Data/World.tscn

+ 2
- 2
.import/SS_001.png-281c2a0ad002919a510b75b2860e9206.md5 Переглянути файл

@@ -1,3 +1,3 @@
source_md5="7417c7651dbfe771ece2e75dad821046"
dest_md5="5e53e294b61788eae1a1860c33edc92e"
source_md5="29524dfe9cffb8ec8bdd8f116004cb23"
dest_md5="7d1b480a44e6f2ff049718ea0356e0d1"


BIN
.import/SS_001.png-281c2a0ad002919a510b75b2860e9206.stex Переглянути файл


+ 23
- 0
Data/Anims/Player_Breathing.tres Переглянути файл

@@ -0,0 +1,23 @@
[gd_resource type="AnimationNodeBlendTree" load_steps=5 format=2]

[sub_resource type="AnimationNodeAnimation" id=1]
animation = "Breath"

[sub_resource type="AnimationNodeAnimation" id=2]
animation = "Base"

[sub_resource type="AnimationNodeTimeScale" id=3]

[sub_resource type="AnimationNodeBlend2" id=4]

[resource]
nodes/Animation/node = SubResource( 2 )
nodes/Animation/position = Vector2( 200, 80 )
"nodes/Animation 2/node" = SubResource( 1 )
"nodes/Animation 2/position" = Vector2( 200, 220 )
nodes/BreathRate/node = SubResource( 3 )
nodes/BreathRate/position = Vector2( 460, 200 )
nodes/IdleBreath/node = SubResource( 4 )
nodes/IdleBreath/position = Vector2( 680, 80 )
nodes/output/position = Vector2( 960, 100 )
node_connections = [ "output", 0, "IdleBreath", "IdleBreath", 0, "Animation", "IdleBreath", 1, "BreathRate", "BreathRate", 0, "Animation 2" ]

BIN
Data/Graphics/SS_001.png Переглянути файл

Before After
Width: 256  |  Height: 256  |  Size: 1.3KB Width: 256  |  Height: 256  |  Size: 1.7KB

+ 726
- 5
Data/Objects/Player.tscn Переглянути файл

@@ -1,4 +1,4 @@
[gd_scene load_steps=3 format=2]
[gd_scene load_steps=24 format=2]

[ext_resource path="res://Data/Graphics/SS_001.png" type="Texture" id=1]

@@ -6,7 +6,708 @@
radius = 6.0
height = 14.0

[sub_resource type="Animation" id=2]
resource_name = "Base"
length = 0.02
step = 0.02
tracks/0/type = "value"
tracks/0/path = NodePath("Body/Sprite:frame")
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": 1,
"values": [ 16 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Body/Head/Sprite:frame")
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": 1,
"values": [ 0 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Body:position")
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": [ Vector2( -0.75, 0.75 ) ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("Body: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": [ 0.0 ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Body:scale")
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": [ Vector2( 1, 1 ) ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("Body/Head:position")
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": [ Vector2( 0.291992, -5.2558 ) ]
}
tracks/6/type = "value"
tracks/6/path = NodePath("Body/Head: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": [ 0.0 ]
}
tracks/7/type = "value"
tracks/7/path = NodePath("Body/Head:scale")
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": [ Vector2( 1, 1 ) ]
}
tracks/8/type = "value"
tracks/8/path = NodePath("Body/Right Hand:position")
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": [ Vector2( -2.83482, -0.404972 ) ]
}
tracks/9/type = "value"
tracks/9/path = NodePath("Body/Right Hand:rotation_degrees")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
tracks/10/type = "value"
tracks/10/path = NodePath("Body/Right Hand:scale")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
tracks/11/type = "value"
tracks/11/path = NodePath("Body/Left Hand:position")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 6.0746, -0.728951 ) ]
}
tracks/12/type = "value"
tracks/12/path = NodePath("Body/Left Hand:rotation_degrees")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
tracks/13/type = "value"
tracks/13/path = NodePath("Body/Left Hand:scale")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
tracks/14/type = "value"
tracks/14/path = NodePath("Body/Right Foot:position")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( -1.29591, 9.47638 ) ]
}
tracks/15/type = "value"
tracks/15/path = NodePath("Body/Right Foot:rotation_degrees")
tracks/15/interp = 1
tracks/15/loop_wrap = true
tracks/15/imported = false
tracks/15/enabled = true
tracks/15/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
tracks/16/type = "value"
tracks/16/path = NodePath("Body/Right Foot:scale")
tracks/16/interp = 1
tracks/16/loop_wrap = true
tracks/16/imported = false
tracks/16/enabled = true
tracks/16/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
tracks/17/type = "value"
tracks/17/path = NodePath("Body/Left Foot:position")
tracks/17/interp = 1
tracks/17/loop_wrap = true
tracks/17/imported = false
tracks/17/enabled = true
tracks/17/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 2.26785, 9.31439 ) ]
}
tracks/18/type = "value"
tracks/18/path = NodePath("Body/Left Foot:rotation_degrees")
tracks/18/interp = 1
tracks/18/loop_wrap = true
tracks/18/imported = false
tracks/18/enabled = true
tracks/18/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
tracks/19/type = "value"
tracks/19/path = NodePath("Body/Left Foot:scale")
tracks/19/interp = 1
tracks/19/loop_wrap = true
tracks/19/imported = false
tracks/19/enabled = true
tracks/19/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
tracks/20/type = "value"
tracks/20/path = NodePath("Body/Sprite:scale")
tracks/20/interp = 1
tracks/20/loop_wrap = true
tracks/20/imported = false
tracks/20/enabled = true
tracks/20/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}

[sub_resource type="Animation" id=3]
resource_name = "Blink"
length = 0.8
tracks/0/type = "value"
tracks/0/path = NodePath("Body/Head/Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.6, 0.7 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 2, 1 ]
}

[sub_resource type="Animation" id=4]
resource_name = "Breath"
length = 2.0
loop = true
tracks/0/type = "bezier"
tracks/0/path = NodePath("Body/Sprite:scale:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.15, -0.25, 0, 0.25, 0, 1.15, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Body/Sprite:scale:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Body/Sprite:position:x")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0.346, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0.346, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Body/Sprite:position:y")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
}

[sub_resource type="Animation" id=6]
length = 0.6
tracks/0/type = "value"
tracks/0/path = NodePath("Body/Head/Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 4 ]
}

[sub_resource type="Animation" id=21]
resource_name = "FootShuffleA"
length = 0.8
tracks/0/type = "bezier"
tracks/0/path = NodePath("Body/Right Foot:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( -1.29591, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Body/Right Foot:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 9.47638, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Body/Right Foot:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Body/Left Foot:position:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 2.26785, -0.05, 0, 0.05, 0, 3.307, -0.05, 0, 0.05, 0, 3.5904, -0.05, 0, 0.05, 0, 3.5904, -0.05, 0, 0.05, 0, 3.68487, -0.05, 0, 0.05, 0, 3.68487, -0.05, 0, 0.05, 0, 2.26785, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Body/Left Foot:position:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( 9.31439, -0.05, 0, 0.05, 0, 8.18078, -0.05, 0, 0.05, 0, 7.04716, -0.05, 0, 0.05, 0, 8.65312, -0.05, 0, 0.05, 0, 7.42503, -0.05, 0, 0.05, 0, 8.55865, -0.05, 0, 0.05, 0, 9.31439, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Body/Left Foot:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0, -0.05, 0, 0.05, 0, 40.8562, -0.05, 0, 0.05, 0, 40.8562, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.6, 0.8 )
}

[sub_resource type="Animation" id=7]
resource_name = "Run"
length = 1.2
loop = true
step = 0.02
tracks/0/type = "bezier"
tracks/0/path = NodePath("Body:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Body:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 0.75, -0.05, 0, 0.05, 0, 1.82693, -0.05, 0, 0.05, 0, 1, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0, 0.45, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 1.827, -0.05, 0, 0.05, 0, 1, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0, 0.45, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Body:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 4, -0.05, 0, 0.05, 0, 4, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 1.2 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Body/Head:rotation_degrees")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 0, -0.05, 0, 0.05, 0, 6.16962, -0.05, 0, 0.05, 0, -3.0988, -0.05, 0, 0.05, 0, 6.16962, -0.05, 0, 0.05, 0, -3.0988, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.4, 0.7, 1, 1.2 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Body/Right Hand:position:x")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( -8.5038, -0.05, 0, 0.05, 0, -6.32139, -0.05, 0, 0.05, 0, -3.38769, -0.05, 0, 0.05, 0, 2.75203, -0.05, 0, 0.05, 0, 5.40025, -0.05, 0, 0.05, 0, 6.73876, -0.05, 0, 0.05, 0, 7.5589, -0.05, 0, 0.05, 0, 6.73876, -0.05, 0, 0.05, 0, 5.40025, -0.05, 0, 0.05, 0, 2.75203, -0.05, 0, 0.05, 0, -3.38769, -0.05, 0, 0.05, 0, -6.32139, -0.05, 0, 0.05, 0, -8.5038, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Body/Right Hand:position:y")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0.416108, -0.05, 0, 0.05, 0, 3.32226, -0.05, 0, 0.05, 0, 4.10672, -0.05, 0, 0.05, 0, 3.13761, -0.05, 0, 0.05, 0, 2.41264, -0.05, 0, 0.05, 0, 0.96959, -0.05, 0, 0.05, 0, -0.167324, -0.05, 0, 0.05, 0, 0.96959, -0.05, 0, 0.05, 0, 2.41264, -0.05, 0, 0.05, 0, 3.13761, -0.05, 0, 0.05, 0, 4.10672, -0.05, 0, 0.05, 0, 3.32226, -0.05, 0, 0.05, 0, 0.416108, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/6/type = "bezier"
tracks/6/path = NodePath("Body/Left Hand:position:x")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/keys = {
"points": PoolRealArray( 9.06326, -0.05, 0, 0.05, 0, 8.99689, -0.05, 0, 0.05, 0, 7.79799, -0.05, 0, 0.05, 0, -1.23787, -0.05, 0, 0.05, 0, -4.1509, -0.05, 0, 0.05, 0, -5.7417, -0.05, 0, 0.05, 0, -6.98066, -0.05, 0, 0.05, 0, -5.7417, -0.05, 0, 0.05, 0, -4.1509, -0.05, 0, 0.05, 0, -1.23787, -0.05, 0, 0.05, 0, 7.79799, -0.05, 0, 0.05, 0, 8.99689, -0.05, 0, 0.05, 0, 9.06326, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/7/type = "bezier"
tracks/7/path = NodePath("Body/Left Hand:position:y")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/keys = {
"points": PoolRealArray( -0.765617, -0.05, 0, 0.05, 0, 0.85837, -0.05, 0, 0.05, 0, 3.01137, -0.05, 0, 0.05, 0, 3.73318, -0.05, 0, 0.05, 0, 1.95768, -0.05, 0, 0.05, 0, 1.07932, -0.05, 0, 0.05, 0, 0.0863929, -0.05, 0, 0.05, 0, 1.07932, -0.05, 0, 0.05, 0, 1.95768, -0.05, 0, 0.05, 0, 3.73318, -0.05, 0, 0.05, 0, 3.01137, -0.05, 0, 0.05, 0, 0.85837, -0.05, 0, 0.05, 0, -0.765617, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/8/type = "bezier"
tracks/8/path = NodePath("Body/Right Foot:position:x")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/keys = {
"points": PoolRealArray( 7.12145, -0.05, 0, 0.05, 0, 4.62287, -0.05, 0, 0.05, 0, 1.2647, -0.05, 0, 0.05, 0, -4.91884, -0.05, 0, 0.05, 0, -6.2824, -0.05, 0, 0.05, 0, -7.27782, -0.05, 0, 0.05, 0, -6.55347, -0.05, 0, 0.05, 0, -4.97081, -0.05, 0, 0.05, 0, -1.90815, -0.05, 0, 0.05, 0, 4.24599, -0.05, 0, 0.05, 0, 5.99706, -0.05, 0, 0.05, 0, 6.82972, -0.05, 0, 0.05, 0, 7.12145, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/9/type = "bezier"
tracks/9/path = NodePath("Body/Right Foot:position:y")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/keys = {
"points": PoolRealArray( 8.78822, -0.05, 0, 0.05, 0, 7.79341, -0.05, 0, 0.05, 0, 8.65798, -0.05, 0, 0.05, 0, 9.00041, -0.05, 0, 0.05, 0, 10.0854, -0.05, 0, 0.05, 0, 8.71555, -0.05, 0, 0.05, 0, 7.49537, -0.05, 0, 0.05, 0, 9.54383, -0.05, 0, 0.05, 0, 9.59956, -0.05, 0, 0.05, 0, 7.54987, -0.05, 0, 0.05, 0, 8.14713, -0.05, 0, 0.05, 0, 7.18927, -0.05, 0, 0.05, 0, 8.78822, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/10/type = "bezier"
tracks/10/path = NodePath("Body/Right Foot:rotation_degrees")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/keys = {
"points": PoolRealArray( -40.6858, -0.05, 0, 0.05, 0, -5.64208, -0.05, 0, 0.05, 0, -2.7316, -0.05, 0, 0.05, 0, 30.9261, -0.05, 0, 0.05, 0, 44.2104, -0.05, 0, 0.05, 0, 77.8077, -0.05, 0, 0.05, 0, 109.662, -0.05, 0, 0.05, 0, 132.096, -0.05, 0, 0.05, 0, 101.727, -0.05, 0, 0.05, 0, 29.4588, -0.05, 0, 0.05, 0, -2.57295, -0.05, 0, 0.05, 0, -11.4331, -0.05, 0, 0.05, 0, -40.6858, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/11/type = "bezier"
tracks/11/path = NodePath("Body/Left Foot:position:x")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/keys = {
"points": PoolRealArray( -5.80155, -0.05, 0, 0.05, 0, -3.63603, -0.05, 0, 0.05, 0, -0.60655, -0.05, 0, 0.05, 0, 4.82511, -0.05, 0, 0.05, 0, 6.67197, -0.05, 0, 0.05, 0, 6.81346, -0.05, 0, 0.05, 0, 7.41322, -0.05, 0, 0.05, 0, 6.8842, -0.05, 0, 0.05, 0, 3.08467, -0.05, 0, 0.05, 0, -3.54025, -0.05, 0, 0.05, 0, -5.19742, -0.05, 0, 0.05, 0, -6.14902, -0.05, 0, 0.05, 0, -5.80155, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/12/type = "bezier"
tracks/12/path = NodePath("Body/Left Foot:position:y")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/keys = {
"points": PoolRealArray( 7.56739, -0.05, 0, 0.05, 0, 8.94534, -0.05, 0, 0.05, 0, 9.81307, -0.05, 0, 0.05, 0, 7.72394, -0.05, 0, 0.05, 0, 8.40446, -0.05, 0, 0.05, 0, 7.85479, -0.05, 0, 0.05, 0, 8.71248, -0.05, 0, 0.05, 0, 7.57995, -0.05, 0, 0.05, 0, 8.56535, -0.05, 0, 0.05, 0, 9.02861, -0.05, 0, 0.05, 0, 9.77423, -0.05, 0, 0.05, 0, 9.0311, -0.05, 0, 0.05, 0, 7.56739, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}
tracks/13/type = "bezier"
tracks/13/path = NodePath("Body/Left Foot:rotation_degrees")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/keys = {
"points": PoolRealArray( 114.222, -0.05, 0, 0.05, 0, 101.558, -0.05, 0, 0.05, 0, 21.8541, -0.05, 0, 0.05, 0, -3.35793, -0.05, 0, 0.05, 0, -15.1317, -0.05, 0, 0.05, 0, -25.4655, -0.05, 0, 0.05, 0, -6.78048, -0.05, 0, 0.05, 0, -4.43915, -0.05, 0, 0.05, 0, 30.8803, -0.05, 0, 0.05, 0, 44.418, -0.05, 0, 0.05, 0, 80.042, -0.05, 0, 0.05, 0, 114.222, -0.05, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
}

[sub_resource type="Animation" id=22]
resource_name = "ShuffleHands1"
length = 0.9
tracks/0/type = "bezier"
tracks/0/path = NodePath("Body/Left Hand:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( 6.0746, -0.05, 0, 0.25, 0, 7.39715, -0.05, 0, 0.25, 0, 3.7129, -0.05, 0, 0.25, 0, 6.0746, -0.05, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Body/Left Hand:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( -0.728951, -0.05, 0, 0.25, 0, -0.35108, -0.05, 0, 0.25, 0, 0.404663, -0.05, 0, 0.25, 0, -0.728951, -0.05, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Body/Left Hand:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
"times": PoolRealArray( 0 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Body/Right Hand:position:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( -2.83482, -0.05, 0, 0.25, 0, -4.15738, -0.05, 0, 0.25, 0, -0.66206, -0.05, 0, 0.25, 0, -2.83482, -0.05, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Body/Right Hand:position:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( -0.404972, -0.05, 0, 0.25, 0, -0.499439, -0.05, 0, 0.25, 0, 0.350771, -0.05, 0, 0.25, 0, -0.404972, -0.05, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Body/Right Hand:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
"times": PoolRealArray( 0 )
}

[sub_resource type="Animation" id=23]
resource_name = "ShuffleHands2"
length = 2.8
tracks/0/type = "bezier"
tracks/0/path = NodePath("Body/Right Hand:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( -2.83482, -0.05, 0, 0, 0, -0.000782251, 0, 0, 0, 0, 2.54985, 0, 0, 0, 0, 4.1558, 0, 0, 0, 0, 4.25027, 0, 0, 0, 0, 4.62814, 0, 0, 0, 0, 4.34473, 0, 0, 0, 0, 4.1558, 0, 0, 0, 0, 2.54985, 0, 0, 0, 0, -0.000782251, 0, 0, 0, 0, -2.83482, 0, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Body/Right Hand:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( -0.404972, -0.05, 0, 0, 0, -0.782844, 0, 0, 0, 0, -1.82199, 0, 0, 0, 0, -4.37263, 0, 0, 0, 0, -5.3173, 0, 0, 0, 0, -5.12837, 0, 0, 0, 0, -5.12837, 0, 0, 0, 0, -4.37263, 0, 0, 0, 0, -1.82199, 0, 0, 0, 0, -0.782844, 0, 0, 0, 0, -0.404972, 0, 0, 0.05, 0 ),
"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
}

[sub_resource type="AnimationNodeAnimation" id=8]
animation = "Run"

[sub_resource type="AnimationNodeAnimation" id=9]
animation = "Breath"

[sub_resource type="AnimationNodeTimeScale" id=10]

[sub_resource type="AnimationNodeBlendTree" id=11]
nodes/Animation/node = SubResource( 9 )
nodes/Animation/position = Vector2( 60, 120 )
nodes/BreathRate/node = SubResource( 10 )
nodes/BreathRate/position = Vector2( 280, 120 )
nodes/output/position = Vector2( 680, 140 )
node_connections = [ "output", 0, "BreathRate", "BreathRate", 0, "Animation" ]

[sub_resource type="AnimationNodeBlend2" id=12]

[sub_resource type="AnimationNodeAnimation" id=13]
animation = "Blink"

[sub_resource type="AnimationNodeAnimation" id=14]
animation = "Eyebrow"

[sub_resource type="AnimationNodeAnimation" id=15]
animation = "Base"

[sub_resource type="AnimationNodeOneShot" id=16]

[sub_resource type="AnimationNodeOneShot" id=17]

[sub_resource type="AnimationNodeBlendTree" id=18]
nodes/Animation/node = SubResource( 15 )
nodes/Animation/position = Vector2( 140, 80 )
"nodes/Animation 2/node" = SubResource( 13 )
"nodes/Animation 2/position" = Vector2( 180, 220 )
"nodes/Animation 3/node" = SubResource( 14 )
"nodes/Animation 3/position" = Vector2( 180, 340 )
nodes/Blink/node = SubResource( 16 )
nodes/Blink/position = Vector2( 400, 100 )
nodes/Eyebrow/node = SubResource( 17 )
nodes/Eyebrow/position = Vector2( 600, 200 )
nodes/output/position = Vector2( 940, 140 )
node_connections = [ "output", 0, "Eyebrow", "Blink", 0, "Animation", "Blink", 1, "Animation 2", "Eyebrow", 0, "Blink", "Eyebrow", 1, "Animation 3" ]

[sub_resource type="AnimationNodeTransition" id=19]
input_count = 3
input_0/name = "Idle"
input_0/auto_advance = false
input_1/name = "Run"
input_1/auto_advance = false
input_2/name = "Jump"
input_2/auto_advance = false

[sub_resource type="AnimationNodeBlendTree" id=20]
graph_offset = Vector2( -62, 89 )
nodes/Animation/node = SubResource( 8 )
nodes/Animation/position = Vector2( 140, 280 )
nodes/Breath/node = SubResource( 11 )
nodes/Breath/position = Vector2( 640, 340 )
nodes/BreathCtrl/node = SubResource( 12 )
nodes/BreathCtrl/position = Vector2( 900, 220 )
nodes/Idle/node = SubResource( 18 )
nodes/Idle/position = Vector2( 140, 160 )
nodes/State/node = SubResource( 19 )
nodes/State/position = Vector2( 660, 120 )
nodes/output/position = Vector2( 1220, 180 )
node_connections = [ "output", 0, "BreathCtrl", "State", 0, "Idle", "State", 1, "Animation", "BreathCtrl", 0, "State", "BreathCtrl", 1, "Breath" ]

[node name="Player" type="KinematicBody2D"]
position = Vector2( 0, -0.174824 )

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 1 )
@@ -15,6 +716,7 @@ shape = SubResource( 1 )
position = Vector2( -0.75, 0.75 )

[node name="Sprite" type="Sprite" parent="Body"]
position = Vector2( 0.346, 0 )
texture = ExtResource( 1 )
vframes = 16
hframes = 16
@@ -36,7 +738,7 @@ position = Vector2( -2.83482, -0.404972 )
position = Vector2( 0.404972, 0.728954 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 12, 32, 5, 5 )
region_rect = Rect2( 5, 32, 5, 5 )

[node name="Left Hand" type="Position2D" parent="Body"]
show_behind_parent = true
@@ -46,7 +748,7 @@ position = Vector2( 6.0746, -0.728951 )
position = Vector2( 0.404972, 0.728954 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 12, 32, 5, 5 )
region_rect = Rect2( 5, 36, 5, 5 )

[node name="Right Foot" type="Position2D" parent="Body"]
position = Vector2( -1.29591, 9.47638 )
@@ -55,7 +757,7 @@ position = Vector2( -1.29591, 9.47638 )
position = Vector2( 0.485966, 0.890942 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 2, 32, 5, 5 )
region_rect = Rect2( 0, 32, 5, 4 )

[node name="Left Foot" type="Position2D" parent="Body"]
show_behind_parent = true
@@ -65,4 +767,23 @@ position = Vector2( 2.26785, 9.31439 )
position = Vector2( 0.485966, 0.890942 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 2, 32, 5, 5 )
region_rect = Rect2( 0, 36, 5, 4 )

[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Base = SubResource( 2 )
anims/Blink = SubResource( 3 )
anims/Breath = SubResource( 4 )
anims/Eyebrow = SubResource( 6 )
anims/FootShuffleA = SubResource( 21 )
anims/Run = SubResource( 7 )
anims/ShuffleHands1 = SubResource( 22 )
anims/ShuffleHands2 = SubResource( 23 )

[node name="AnimationTree" type="AnimationTree" parent="."]
tree_root = SubResource( 20 )
anim_player = NodePath("../AnimationPlayer")
parameters/Breath/BreathRate/scale = 1.0
parameters/BreathCtrl/blend_amount = 0.5
parameters/Idle/Blink/active = false
parameters/Idle/Eyebrow/active = false
parameters/State/current = 1

+ 5
- 1
Data/World.tscn Переглянути файл

@@ -1,3 +1,7 @@
[gd_scene format=2]
[gd_scene load_steps=2 format=2]

[ext_resource path="res://Data/Objects/Player.tscn" type="PackedScene" id=1]

[node name="World" type="Node2D"]

[node name="Player" parent="." instance=ExtResource( 1 )]

Завантаження…
Відмінити
Зберегти