]> Untitled Git - baabarian.git/commitdiff
* Added dust clouds
authorClifton Palmer <clifton.james.palmer@protonmail.com>
Thu, 24 Apr 2025 11:45:12 +0000 (14:45 +0300)
committerClifton Palmer <clifton.james.palmer@protonmail.com>
Fri, 25 Apr 2025 10:16:33 +0000 (13:16 +0300)
* Added floor normal debug vector
* Added player idle

17 files changed:
.DS_Store
asset/barrel.tscn [new file with mode: 0644]
asset/dust.tscn [new file with mode: 0644]
class/Pinball.gd
map/test.tscn
map/test2.tscn
model/barrel.glb [new file with mode: 0644]
model/barrel.glb.import [new file with mode: 0644]
model/dust-cloud.glb [new file with mode: 0644]
model/dust-cloud.glb.import [new file with mode: 0644]
model/dust-cloud_Mesh_002.res [new file with mode: 0644]
model/ram-barbarian.glb
player/player.gd
player/player.tscn
player/skin.gd
player/skin.tscn
texture/untextured2.png

index 28e90a996a397f0f160acb65c614e463e181792c..2b6c807d1f1e4ad3aaabb7d4cff74af6d7dbe953 100644 (file)
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/asset/barrel.tscn b/asset/barrel.tscn
new file mode 100644 (file)
index 0000000..65384fd
--- /dev/null
@@ -0,0 +1,12 @@
+[gd_scene load_steps=3 format=3 uid="uid://dvipfagbdiyod"]
+
+[ext_resource type="PackedScene" uid="uid://de8xf2bm08up7" path="res://model/barrel.glb" id="1_u3bgx"]
+
+[sub_resource type="SphereShape3D" id="SphereShape3D_u3bgx"]
+radius = 1.04044
+
+[node name="barrel" instance=ExtResource("1_u3bgx")]
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="." index="5"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
+shape = SubResource("SphereShape3D_u3bgx")
diff --git a/asset/dust.tscn b/asset/dust.tscn
new file mode 100644 (file)
index 0000000..cd38892
--- /dev/null
@@ -0,0 +1,28 @@
+[gd_scene load_steps=5 format=3 uid="uid://cnguadxdlxtqa"]
+
+[ext_resource type="ArrayMesh" uid="uid://d0e8jajuyhu4j" path="res://model/dust-cloud_Mesh_002.res" id="1_kdbib"]
+
+[sub_resource type="Curve" id="Curve_kdbib"]
+_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0816583, 1), 0.0, 0.0, 0, 0, Vector2(0.996231, 0), 0.0, 0.0, 0, 0]
+point_count = 3
+
+[sub_resource type="CurveTexture" id="CurveTexture_1gcqg"]
+curve = SubResource("Curve_kdbib")
+
+[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1gcqg"]
+particle_flag_rotate_y = true
+angular_velocity_min = 202.56
+angular_velocity_max = 217.29
+gravity = Vector3(0, 0, 0)
+scale_min = 0.25
+scale_max = 0.5
+scale_curve = SubResource("CurveTexture_1gcqg")
+turbulence_noise_scale = 0.572
+
+[node name="Dust" type="GPUParticles3D"]
+emitting = false
+amount = 20
+lifetime = 3.0
+fixed_fps = 60
+process_material = SubResource("ParticleProcessMaterial_1gcqg")
+draw_pass_1 = ExtResource("1_kdbib")
index b8368681d3f4ece0c5078e67f02607fef352b8c3..c6c841e301ca47ee164291daff9003552d2fa54f 100644 (file)
@@ -17,5 +17,4 @@ func _process(_delta: float) -> void:
        if angular_velocity.length() > 0.2:
                _mesh.scale = _moving_scale
        else:
        if angular_velocity.length() > 0.2:
                _mesh.scale = _moving_scale
        else:
-               rotation = Vector3.ZERO
                _mesh.scale = Vector3.ONE
                _mesh.scale = Vector3.ONE
index c69ff88bb073b0d9f40423b9ddeb87961781d012..d7e5cd90b9b0fb840ea85466f81785aa18caafcb 100644 (file)
@@ -5,7 +5,7 @@
 [ext_resource type="Script" uid="uid://mgg7ii0w4vod" path="res://class/ux/debug_stats.gd" id="3_eopnw"]
 [ext_resource type="Script" uid="uid://bocc5xwqtbkbb" path="res://class/ux/debug_draw_3d.gd" id="4_t5fek"]
 [ext_resource type="PackedScene" uid="uid://ch6s2gvhi64uh" path="res://player/player.tscn" id="5_51i4e"]
 [ext_resource type="Script" uid="uid://mgg7ii0w4vod" path="res://class/ux/debug_stats.gd" id="3_eopnw"]
 [ext_resource type="Script" uid="uid://bocc5xwqtbkbb" path="res://class/ux/debug_draw_3d.gd" id="4_t5fek"]
 [ext_resource type="PackedScene" uid="uid://ch6s2gvhi64uh" path="res://player/player.tscn" id="5_51i4e"]
-[ext_resource type="Texture2D" uid="uid://dpjg45owgorg2" path="res://texture/untextured.png" id="6_gj21c"]
+[ext_resource type="Texture2D" uid="uid://b2k1iykgmhi1" path="res://texture/untextured2.png" id="6_f4bcd"]
 [ext_resource type="PackedScene" uid="uid://bx83k2u0snfjc" path="res://asset/cube.tscn" id="7_r4qir"]
 [ext_resource type="PackedScene" uid="uid://yutmq76fj37a" path="res://asset/pin.tscn" id="8_skyas"]
 
 [ext_resource type="PackedScene" uid="uid://bx83k2u0snfjc" path="res://asset/cube.tscn" id="7_r4qir"]
 [ext_resource type="PackedScene" uid="uid://yutmq76fj37a" path="res://asset/pin.tscn" id="8_skyas"]
 
@@ -26,8 +26,8 @@ glow_enabled = true
 size = Vector2(222, 222)
 
 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_37kl0"]
 size = Vector2(222, 222)
 
 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_37kl0"]
-albedo_color = Color(0.133333, 0.278431, 0.133333, 1)
-albedo_texture = ExtResource("6_gj21c")
+albedo_color = Color(0.11618, 0.248116, 0.116183, 1)
+albedo_texture = ExtResource("6_f4bcd")
 uv1_scale = Vector3(10, 10, 10)
 uv1_world_triplanar = true
 
 uv1_scale = Vector3(10, 10, 10)
 uv1_world_triplanar = true
 
@@ -58,6 +58,7 @@ offset_bottom = 40.0
 script = ExtResource("4_t5fek")
 
 [node name="player" parent="." instance=ExtResource("5_51i4e")]
 script = ExtResource("4_t5fek")
 
 [node name="player" parent="." instance=ExtResource("5_51i4e")]
+collision_mask = 7
 
 [node name="map" type="Node3D" parent="."]
 
 
 [node name="map" type="Node3D" parent="."]
 
index e9c339ae20b470da31bec8f78cf961220fa38b2e..37a2a6a65e86697afaa45bbd7583adef5cc80fe5 100644 (file)
@@ -1,4 +1,4 @@
-[gd_scene load_steps=12 format=3 uid="uid://cn2p6orcbai0h"]
+[gd_scene load_steps=13 format=3 uid="uid://cn2p6orcbai0h"]
 
 [ext_resource type="Script" uid="uid://dpsqolvx3mdic" path="res://class/Scene.gd" id="1_mogmc"]
 [ext_resource type="Script" uid="uid://dd3sep8kprktl" path="res://class/ux/debug_overlay.gd" id="2_avrv7"]
 
 [ext_resource type="Script" uid="uid://dpsqolvx3mdic" path="res://class/Scene.gd" id="1_mogmc"]
 [ext_resource type="Script" uid="uid://dd3sep8kprktl" path="res://class/ux/debug_overlay.gd" id="2_avrv7"]
@@ -8,6 +8,7 @@
 [ext_resource type="PackedScene" uid="uid://yutmq76fj37a" path="res://asset/pin.tscn" id="7_adqkx"]
 [ext_resource type="PackedScene" uid="uid://d2k5qfpdk2rsh" path="res://asset/test-ground.tscn" id="8_mogmc"]
 [ext_resource type="PackedScene" uid="uid://bx83k2u0snfjc" path="res://asset/cube.tscn" id="8_x52vu"]
 [ext_resource type="PackedScene" uid="uid://yutmq76fj37a" path="res://asset/pin.tscn" id="7_adqkx"]
 [ext_resource type="PackedScene" uid="uid://d2k5qfpdk2rsh" path="res://asset/test-ground.tscn" id="8_mogmc"]
 [ext_resource type="PackedScene" uid="uid://bx83k2u0snfjc" path="res://asset/cube.tscn" id="8_x52vu"]
+[ext_resource type="PackedScene" uid="uid://dvipfagbdiyod" path="res://asset/barrel.tscn" id="9_avrv7"]
 
 [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_mf4mk"]
 sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
 
 [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_mf4mk"]
 sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
@@ -22,7 +23,7 @@ sky = SubResource("Sky_37kl0")
 tonemap_mode = 2
 glow_enabled = true
 
 tonemap_mode = 2
 glow_enabled = true
 
-[node name="Test" type="Node3D"]
+[node name="Test2" type="Node3D"]
 script = ExtResource("1_mogmc")
 
 [node name="debug" type="CanvasLayer" parent="."]
 script = ExtResource("1_mogmc")
 
 [node name="debug" type="CanvasLayer" parent="."]
@@ -46,7 +47,8 @@ offset_bottom = 40.0
 script = ExtResource("4_h0sby")
 
 [node name="player" parent="." instance=ExtResource("5_e88oi")]
 script = ExtResource("4_h0sby")
 
 [node name="player" parent="." instance=ExtResource("5_e88oi")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.0656, 20.1572)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.25214, 20.1572)
+collision_mask = 7
 
 [node name="map" type="Node3D" parent="."]
 
 
 [node name="map" type="Node3D" parent="."]
 
@@ -58,40 +60,43 @@ transform = Transform3D(1, 0, 0, 0, 0.499998, 0.866027, 0, -0.866027, 0.499998,
 shadow_enabled = true
 
 [node name="map-test" parent="map" instance=ExtResource("8_mogmc")]
 shadow_enabled = true
 
 [node name="map-test" parent="map" instance=ExtResource("8_mogmc")]
-transform = Transform3D(1, 0, 0, 0, 0.58, 0, 0, 0, 1, 0, 0, 0)
+transform = Transform3D(1, 0, 0, 0, 0.4, 0, 0, 0, 1, 0, 0, 0)
 
 [node name="bowling" type="Node3D" parent="."]
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 12.3014, 32)
 
 [node name="Pin" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="bowling" type="Node3D" parent="."]
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 12.3014, 32)
 
 [node name="Pin" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -6.78075, 34)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -8.18374, 34)
 
 [node name="Pin2" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin2" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -6.66755, 34)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -8.10567, 34)
 
 [node name="Pin3" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin3" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -6.55983, 34)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -8.03138, 34)
 
 [node name="Pin4" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin4" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, -6.44812, 34)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, -7.95434, 34)
 
 [node name="Pin5" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin5" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, -7.29534, 32)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, -8.53863, 32)
 
 [node name="Pin6" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin6" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, -7.18529, 32)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, -8.46273, 32)
 
 [node name="Pin7" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin7" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -7.0746, 32)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -8.38639, 32)
 
 [node name="Pin8" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin8" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -8.06684, 30)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -9.0707, 30)
 
 [node name="Pin9" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin9" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -7.95368, 30)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -8.99266, 30)
 
 [node name="Pin10" parent="bowling" instance=ExtResource("7_adqkx")]
 
 [node name="Pin10" parent="bowling" instance=ExtResource("7_adqkx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, -8.95658, 28)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, -9.68431, 28)
 
 [node name="Cube" parent="bowling" instance=ExtResource("8_x52vu")]
 
 [node name="Cube" parent="bowling" instance=ExtResource("8_x52vu")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, -8.03251, 2)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, -9.04702, 2)
+
+[node name="barrel" parent="." instance=ExtResource("9_avrv7")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.43346, 3.47426, 68.4355)
diff --git a/model/barrel.glb b/model/barrel.glb
new file mode 100644 (file)
index 0000000..57bfc6c
Binary files /dev/null and b/model/barrel.glb differ
diff --git a/model/barrel.glb.import b/model/barrel.glb.import
new file mode 100644 (file)
index 0000000..b80b99a
--- /dev/null
@@ -0,0 +1,37 @@
+[remap]
+
+importer="scene"
+importer_version=1
+type="PackedScene"
+uid="uid://de8xf2bm08up7"
+path="res://.godot/imported/barrel.glb-e9dc65df181a77b8098ca602b8924865.scn"
+
+[deps]
+
+source_file="res://model/barrel.glb"
+dest_files=["res://.godot/imported/barrel.glb-e9dc65df181a77b8098ca602b8924865.scn"]
+
+[params]
+
+nodes/root_type="RigidBody3D"
+nodes/root_name=""
+nodes/apply_root_scale=true
+nodes/root_scale=1.0
+nodes/import_as_skeleton_bones=false
+nodes/use_node_type_suffixes=true
+meshes/ensure_tangents=true
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
+meshes/force_disable_compression=false
+skins/use_named_skins=true
+animation/import=true
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+animation/import_rest_as_RESET=false
+import_script/path=""
+_subresources={}
+gltf/naming_version=1
+gltf/embedded_image_handling=1
diff --git a/model/dust-cloud.glb b/model/dust-cloud.glb
new file mode 100644 (file)
index 0000000..de8c0f8
Binary files /dev/null and b/model/dust-cloud.glb differ
diff --git a/model/dust-cloud.glb.import b/model/dust-cloud.glb.import
new file mode 100644 (file)
index 0000000..e74cfbb
--- /dev/null
@@ -0,0 +1,48 @@
+[remap]
+
+importer="scene"
+importer_version=1
+type="PackedScene"
+uid="uid://3t3vu8lmuvy4"
+path="res://.godot/imported/dust-cloud.glb-20b5c612915e3849b79a001c5351bdc7.scn"
+
+[deps]
+
+source_file="res://model/dust-cloud.glb"
+dest_files=["res://.godot/imported/dust-cloud.glb-20b5c612915e3849b79a001c5351bdc7.scn"]
+
+[params]
+
+nodes/root_type="MeshInstance3D"
+nodes/root_name=""
+nodes/apply_root_scale=true
+nodes/root_scale=1.0
+nodes/import_as_skeleton_bones=false
+nodes/use_node_type_suffixes=true
+meshes/ensure_tangents=true
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
+meshes/force_disable_compression=false
+skins/use_named_skins=true
+animation/import=true
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+animation/import_rest_as_RESET=false
+import_script/path=""
+_subresources={
+"meshes": {
+"dust-cloud_Mesh_002": {
+"generate/lightmap_uv": 0,
+"generate/lods": 0,
+"generate/shadow_meshes": 0,
+"lods/normal_merge_angle": 60.0,
+"save_to_file/enabled": true,
+"save_to_file/path": "res://model/dust-cloud_Mesh_002.res"
+}
+}
+}
+gltf/naming_version=1
+gltf/embedded_image_handling=1
diff --git a/model/dust-cloud_Mesh_002.res b/model/dust-cloud_Mesh_002.res
new file mode 100644 (file)
index 0000000..96b6063
Binary files /dev/null and b/model/dust-cloud_Mesh_002.res differ
index 2535576a1c58775c0f3182ef59a064681f9f3964..4e1e1007a334f5cc30049891da3213fc97f891ff 100644 (file)
Binary files a/model/ram-barbarian.glb and b/model/ram-barbarian.glb differ
index 7b988f5d92280e77a675279834626b4f64226d97..84657ec2db18c6c8a3d4fb61e37c2093a09bed84 100644 (file)
@@ -15,10 +15,10 @@ class_name Player
 @export var hard_landing_limit := 10.0
 
 @export_group("Physics")
 @export var hard_landing_limit := 10.0
 
 @export_group("Physics")
-@export var push_force := 10
+@export var push_force := 5.0
 
 @export_group("Camera")
 
 @export_group("Camera")
-@export_range(1.0, 10.0) var camera_distance := 2.5
+@export_range(1.0, 10.0) var camera_distance := 2.0
 @export_range(0.0, 1.0) var mouse_sensitivity := 0.15
 @export_range(0.0, 1.0) var mouse_sensitivity_x := 1.0
 @export_range(0.0, 1.0) var mouse_sensitivity_y := 0.5
 @export_range(0.0, 1.0) var mouse_sensitivity := 0.15
 @export_range(0.0, 1.0) var mouse_sensitivity_x := 1.0
 @export_range(0.0, 1.0) var mouse_sensitivity_y := 0.5
@@ -29,24 +29,31 @@ class_name Player
 @onready var _debug: CanvasLayer = %debug
 @onready var _camera_pivot: Node3D = %camera_pivot
 @onready var _camera: Camera3D = %camera
 @onready var _debug: CanvasLayer = %debug
 @onready var _camera_pivot: Node3D = %camera_pivot
 @onready var _camera: Camera3D = %camera
+@onready var _camera_spring: SpringArm3D = %spring
 @onready var _skin: AnimatedSkin = %skin
 @onready var _skin: AnimatedSkin = %skin
+@onready var _dust: GPUParticles3D = %dust
 
 var _last_movement_direction := rotation
 
 var _last_movement_direction := rotation
+var _floor_normal := Vector3.ONE
 var _camera_input_direction := Vector2.ZERO
 
 enum {CAMERA_MOUSE_INPUT, CAMERA_JOYSTICK_INPUT}
 var _camera_input_method := CAMERA_MOUSE_INPUT
 
 var _idle_time: float = 0.0
 var _camera_input_direction := Vector2.ZERO
 
 enum {CAMERA_MOUSE_INPUT, CAMERA_JOYSTICK_INPUT}
 var _camera_input_method := CAMERA_MOUSE_INPUT
 
 var _idle_time: float = 0.0
-var _player_speed: float = walk_speed
+var _player_speed: float = 0
 
 
 func _ready() -> void:
 
 
 func _ready() -> void:
-       $camera_pivot/SpringArm3D.spring_length = camera_distance
        _debug.draw.add_vector(self, "velocity", 1, 1, Color(0,1,0,1))
        _debug.draw.add_vector(self, "velocity", 1, 1, Color(0,1,0,1))
+       _debug.draw.add_vector(self, "_floor_normal", 1, 1, Color(0, 0, 1, 1))
        _debug.draw.add_vector(self, "_last_movement_direction", 1, 1, Color(1,0,0,1))
        _debug.stats.add_property(self, "velocity", "length")
        _debug.stats.add_property(self, "_idle_time", "round")
        _debug.draw.add_vector(self, "_last_movement_direction", 1, 1, Color(1,0,0,1))
        _debug.stats.add_property(self, "velocity", "length")
        _debug.stats.add_property(self, "_idle_time", "round")
+       
+       _camera_spring.spring_length = camera_distance
+       _player_speed = jog_speed
+       _skin.set_grounded()
 
 
 func _physics_process(delta: float) -> void:
 
 
 func _physics_process(delta: float) -> void:
@@ -71,12 +78,14 @@ func _unhandled_input(event: InputEvent) -> void:
 
 func _input(event: InputEvent):
        if event.is_action_pressed("player_run"):
 
 func _input(event: InputEvent):
        if event.is_action_pressed("player_run"):
-               _player_speed = jog_speed
-       elif event.is_action_released("player_run"):
                _player_speed = walk_speed
                _player_speed = walk_speed
+       elif event.is_action_released("player_run"):
+               _player_speed = jog_speed
        
        if event.is_action_pressed("player_attack") and velocity.length() > jog_speed * .75:
                _player_speed = charge_speed
        
        if event.is_action_pressed("player_attack") and velocity.length() > jog_speed * .75:
                _player_speed = charge_speed
+       elif event.is_action_released("player_attack"):
+               _player_speed = jog_speed
 
 
 # Get the XZ input direction based on player's input relative to the camera
 
 
 # Get the XZ input direction based on player's input relative to the camera
@@ -100,60 +109,76 @@ func _process_camera(delta: float) -> void:
        # reset mouse movement vector if mouse input
        if _camera_input_method == CAMERA_MOUSE_INPUT:
                _camera_input_direction = Vector2.ZERO
        # reset mouse movement vector if mouse input
        if _camera_input_method == CAMERA_MOUSE_INPUT:
                _camera_input_direction = Vector2.ZERO
+               
+       # change spring length depending on player speed
+       _camera_spring.spring_length = lerp(
+               _camera_spring.spring_length, camera_distance + velocity.length() / 4, delta 
+       ) 
 
 
 func _process_player_on_floor(delta: float):
        var move_direction := _get_player_move_direction()
        
        # if we're not stuck, then it's okay to set the velocity
 
 
 func _process_player_on_floor(delta: float):
        var move_direction := _get_player_move_direction()
        
        # if we're not stuck, then it's okay to set the velocity
-       var floor_normal := move_direction.angle_to(get_floor_normal() * Vector3(1, 0, 1)) + 1
-       velocity = velocity.move_toward(move_direction * (_player_speed + 1 / floor_normal * 20), acceleration * delta)
+       _floor_normal = get_floor_normal()
+       var ground_angle := move_direction.angle_to(_floor_normal * Vector3(1, 0, 1))
+       #print(str(ground_angle))
+       velocity = velocity.move_toward(move_direction * (_player_speed + ground_angle), acceleration * delta)
        var movement_speed := Vector3(velocity.x, 0, velocity.z).length()
        
        # also, if we're moving, we're not idle
        if move_direction.length() < 0.2:
                if velocity == Vector3.ZERO:
                        _idle_time += delta
        var movement_speed := Vector3(velocity.x, 0, velocity.z).length()
        
        # also, if we're moving, we're not idle
        if move_direction.length() < 0.2:
                if velocity == Vector3.ZERO:
                        _idle_time += delta
+               if _idle_time > idle_timeout:
+                       _skin.set_idle()
        else:
                _last_movement_direction = move_direction
                _idle_time = 0.0
        else:
                _last_movement_direction = move_direction
                _idle_time = 0.0
+               _skin.set_grounded()
 
        # if camera is unlocked, rotate whole skin to face movement direction
 
        # if camera is unlocked, rotate whole skin to face movement direction
-       # else, rotate to face camera pivot global Y direction
        var skin_target_angle := Vector3.BACK.signed_angle_to(_last_movement_direction, Vector3.UP)
        _skin.global_rotation.y = lerp_angle(
                _skin.global_rotation.y,
                skin_target_angle,
                rotation_speed * delta
                )
        var skin_target_angle := Vector3.BACK.signed_angle_to(_last_movement_direction, Vector3.UP)
        _skin.global_rotation.y = lerp_angle(
                _skin.global_rotation.y,
                skin_target_angle,
                rotation_speed * delta
                )
+               
+       # lean into player momentum just a little bit
+       _skin.rotation.z = lerp_angle(
+               _skin.rotation.z,
+               clamp(_last_movement_direction.signed_angle_to(velocity, Vector3.UP) * movement_speed * 0.08, -PI/4, PI/ 4),
+               rotation_speed * delta * 0.25
+               )
+       
+       # let skin know how fast player is moving along the ground
        _skin.set_grounded_speed(movement_speed)
        
        # timescale tweaking for fun effect!
        _skin.set_grounded_speed(movement_speed)
        
        # timescale tweaking for fun effect!
-       if movement_speed >= charge_speed * 0.75:
+       if _player_speed == charge_speed:
                _skin.set_timescale(2.0)
                _skin.set_timescale(2.0)
-               
-               # ignore objects when I'm going fast!
-               set_collision_mask_value(3, false)
        else:
                _skin.set_timescale(1.0)
        else:
                _skin.set_timescale(1.0)
-               set_collision_mask_value(3, true)
 
 
 func _process_player(delta: float) -> void:
        if is_on_floor():
 
 
 func _process_player(delta: float) -> void:
        if is_on_floor():
-               _skin.set_grounded()
                _process_player_on_floor(delta)
                _process_player_on_floor(delta)
+       
+               _dust.emitting = velocity.length() > (0.75 * charge_speed) and is_on_floor()
+               _dust.amount_ratio = velocity.length()
        else:
                _skin.set_falling()
                velocity += get_gravity() * air_speed * delta
 
        # now actually move!
        else:
                _skin.set_falling()
                velocity += get_gravity() * air_speed * delta
 
        # now actually move!
-       var movement_speed := velocity.length()
+       var velocity_length := velocity.length()
        move_and_slide()
        move_and_slide()
-       
+
        # handle collisions 
        for i in get_slide_collision_count():
                var c := get_slide_collision(i)
                if c.get_collider() is RigidBody3D:
                        var col: RigidBody3D = c.get_collider()
        # handle collisions 
        for i in get_slide_collision_count():
                var c := get_slide_collision(i)
                if c.get_collider() is RigidBody3D:
                        var col: RigidBody3D = c.get_collider()
-                       col.apply_central_impulse(-c.get_normal() * push_force * movement_speed / col.mass)
+                       col.apply_central_impulse(-c.get_normal() * velocity_length * push_force)
index ab2cf13e1b0926f27b6bc72da6c79f540018c16c..ee1964bd8a12f213a29b4b47e05305ffcd7e6799 100644 (file)
@@ -1,14 +1,15 @@
-[gd_scene load_steps=4 format=3 uid="uid://ch6s2gvhi64uh"]
+[gd_scene load_steps=5 format=3 uid="uid://ch6s2gvhi64uh"]
 
 [ext_resource type="PackedScene" uid="uid://127fi2uta0p8" path="res://player/skin.tscn" id="1_4flbx"]
 [ext_resource type="Script" uid="uid://b3hff6ctx5cgj" path="res://player/player.gd" id="1_onrkg"]
 
 [ext_resource type="PackedScene" uid="uid://127fi2uta0p8" path="res://player/skin.tscn" id="1_4flbx"]
 [ext_resource type="Script" uid="uid://b3hff6ctx5cgj" path="res://player/player.gd" id="1_onrkg"]
+[ext_resource type="PackedScene" uid="uid://cnguadxdlxtqa" path="res://asset/dust.tscn" id="3_g1dw6"]
 
 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sh265"]
 radius = 0.602678
 
 [node name="player" type="CharacterBody3D"]
 collision_layer = 2
 
 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sh265"]
 radius = 0.602678
 
 [node name="player" type="CharacterBody3D"]
 collision_layer = 2
-collision_mask = 7
+collision_mask = 3
 floor_max_angle = 1.0472
 floor_snap_length = 0.5
 script = ExtResource("1_onrkg")
 floor_max_angle = 1.0472
 floor_snap_length = 0.5
 script = ExtResource("1_onrkg")
@@ -24,8 +25,13 @@ transform = Transform3D(0.688, 0, 0, 0, 0.688, 0, 0, 0, 0.688, 0, 0, 0)
 [node name="camera_pivot" type="Node3D" parent="."]
 unique_name_in_owner = true
 
 [node name="camera_pivot" type="Node3D" parent="."]
 unique_name_in_owner = true
 
-[node name="SpringArm3D" type="SpringArm3D" parent="camera_pivot"]
+[node name="spring" type="SpringArm3D" parent="camera_pivot"]
+unique_name_in_owner = true
 transform = Transform3D(-1, 0, -8.74228e-08, -2.43198e-08, 0.960527, 0.278187, 8.39719e-08, 0.278187, -0.960527, 0, 2.12611, 0)
 
 transform = Transform3D(-1, 0, -8.74228e-08, -2.43198e-08, 0.960527, 0.278187, 8.39719e-08, 0.278187, -0.960527, 0, 2.12611, 0)
 
-[node name="camera" type="Camera3D" parent="camera_pivot/SpringArm3D"]
+[node name="camera" type="Camera3D" parent="camera_pivot/spring"]
+unique_name_in_owner = true
+
+[node name="dust" parent="." instance=ExtResource("3_g1dw6")]
 unique_name_in_owner = true
 unique_name_in_owner = true
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.122346, 0)
index 608d994ce3e819d43114fe626a04b20ff92c8bd6..6848cd2acfe64f39a66c284fc3e581bcb0062304 100644 (file)
@@ -21,5 +21,9 @@ func set_landing():
        _tree.set("parameters/motion/transition_request", "landing")
 
 
        _tree.set("parameters/motion/transition_request", "landing")
 
 
+func set_idle():
+       _tree.set("parameters/motion/transition_request", "idle")
+
+
 func set_timescale(s: float):
        _tree.set("parameters/timescale/scale", s)
 func set_timescale(s: float):
        _tree.set("parameters/timescale/scale", s)
index 24f9f4223f98c7ce915260e1fd67e4b01cd73e52..beca117ddf396c9fe98c784d39ce886f564c0ddb 100644 (file)
@@ -1,4 +1,4 @@
-[gd_scene load_steps=14 format=3 uid="uid://127fi2uta0p8"]
+[gd_scene load_steps=17 format=3 uid="uid://127fi2uta0p8"]
 
 [ext_resource type="PackedScene" uid="uid://b77p7nmn30107" path="res://model/ram-barbarian.glb" id="1_slxxm"]
 [ext_resource type="Script" uid="uid://b2hbg1leabjky" path="res://player/skin.gd" id="2_0vn8v"]
 
 [ext_resource type="PackedScene" uid="uid://b77p7nmn30107" path="res://model/ram-barbarian.glb" id="1_slxxm"]
 [ext_resource type="Script" uid="uid://b2hbg1leabjky" path="res://player/skin.gd" id="2_0vn8v"]
@@ -36,6 +36,20 @@ min_space = 0.0
 max_space = 20.0
 sync = true
 
 max_space = 20.0
 sync = true
 
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y8rh2"]
+animation = &"idle-lookAround"
+
+[sub_resource type="AnimationNodeOneShot" id="AnimationNodeOneShot_pb2t0"]
+sync = true
+fadein_time = 1.0
+fadeout_time = 1.0
+autorestart = true
+autorestart_delay = 3.0
+autorestart_random_delay = 3.0
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_twbhx"]
+animation = &"idle-standing"
+
 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kx47x"]
 animation = &"move-landing"
 
 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kx47x"]
 animation = &"move-landing"
 
@@ -54,23 +68,33 @@ input_2/name = "grounded"
 input_2/auto_advance = false
 input_2/break_loop_at_end = false
 input_2/reset = true
 input_2/auto_advance = false
 input_2/break_loop_at_end = false
 input_2/reset = true
+input_3/name = "idle"
+input_3/auto_advance = false
+input_3/break_loop_at_end = false
+input_3/reset = true
 
 [sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_uiah6"]
 
 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_slxxm"]
 
 [sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_uiah6"]
 
 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_slxxm"]
-graph_offset = Vector2(-552.936, -98.8168)
+graph_offset = Vector2(-843.968, 81.7895)
 nodes/falling/node = SubResource("AnimationNodeAnimation_uiah6")
 nodes/falling/position = Vector2(-310, 20)
 nodes/grounded/node = SubResource("AnimationNodeBlendSpace1D_lkge1")
 nodes/falling/node = SubResource("AnimationNodeAnimation_uiah6")
 nodes/falling/position = Vector2(-310, 20)
 nodes/grounded/node = SubResource("AnimationNodeBlendSpace1D_lkge1")
-nodes/grounded/position = Vector2(-310, 370)
+nodes/grounded/position = Vector2(-320, 370)
+nodes/idle-look/node = SubResource("AnimationNodeAnimation_y8rh2")
+nodes/idle-look/position = Vector2(-300, 790)
+nodes/idle-oneshot/node = SubResource("AnimationNodeOneShot_pb2t0")
+nodes/idle-oneshot/position = Vector2(-80, 590)
+nodes/idle-standing/node = SubResource("AnimationNodeAnimation_twbhx")
+nodes/idle-standing/position = Vector2(-290, 610)
 nodes/landing/node = SubResource("AnimationNodeAnimation_kx47x")
 nodes/landing/position = Vector2(-320, 190)
 nodes/motion/node = SubResource("AnimationNodeTransition_slxxm")
 nodes/landing/node = SubResource("AnimationNodeAnimation_kx47x")
 nodes/landing/position = Vector2(-320, 190)
 nodes/motion/node = SubResource("AnimationNodeTransition_slxxm")
-nodes/motion/position = Vector2(-30, 90)
-nodes/output/position = Vector2(550, 110)
+nodes/motion/position = Vector2(190, 130)
+nodes/output/position = Vector2(770, 150)
 nodes/timescale/node = SubResource("AnimationNodeTimeScale_uiah6")
 nodes/timescale/node = SubResource("AnimationNodeTimeScale_uiah6")
-nodes/timescale/position = Vector2(250, 100)
-node_connections = [&"motion", 0, &"falling", &"motion", 1, &"landing", &"motion", 2, &"grounded", &"output", 0, &"timescale", &"timescale", 0, &"motion"]
+nodes/timescale/position = Vector2(470, 140)
+node_connections = [&"idle-oneshot", 0, &"idle-standing", &"idle-oneshot", 1, &"idle-look", &"motion", 0, &"falling", &"motion", 1, &"landing", &"motion", 2, &"grounded", &"motion", 3, &"idle-oneshot", &"output", 0, &"timescale", &"timescale", 0, &"motion"]
 
 [node name="skin" instance=ExtResource("1_slxxm")]
 script = ExtResource("2_0vn8v")
 
 [node name="skin" instance=ExtResource("1_slxxm")]
 script = ExtResource("2_0vn8v")
@@ -81,86 +105,90 @@ root_node = NodePath("%AnimationTree/..")
 tree_root = SubResource("AnimationNodeBlendTree_slxxm")
 anim_player = NodePath("../AnimationPlayer")
 parameters/grounded/blend_position = 0.0
 tree_root = SubResource("AnimationNodeBlendTree_slxxm")
 anim_player = NodePath("../AnimationPlayer")
 parameters/grounded/blend_position = 0.0
+parameters/idle-oneshot/active = false
+parameters/idle-oneshot/internal_active = false
+parameters/idle-oneshot/request = 0
 parameters/motion/current_state = "grounded"
 parameters/motion/transition_request = ""
 parameters/motion/current_index = 2
 parameters/timescale/scale = 1.0
 
 [node name="Skeleton3D" parent="." index="1"]
 parameters/motion/current_state = "grounded"
 parameters/motion/transition_request = ""
 parameters/motion/current_index = 2
 parameters/timescale/scale = 1.0
 
 [node name="Skeleton3D" parent="." index="1"]
-bones/0/position = Vector3(-0.00304451, 2.36958, 0.201732)
-bones/0/rotation = Quaternion(0.179923, -0.0203535, -0.0309344, 0.982984)
-bones/2/position = Vector3(0.013472, 1.05098, -0.16999)
-bones/2/rotation = Quaternion(0.203538, -0.0246143, 0.00304171, 0.978753)
+bones/0/position = Vector3(0.0255365, 2.45365, 0.18335)
+bones/0/rotation = Quaternion(0.219745, -0.0412482, -0.0604718, 0.972807)
+bones/2/position = Vector3(0.0205738, 1.1245, -0.145888)
+bones/2/rotation = Quaternion(0.196834, -0.027007, -0.00338451, 0.980059)
 bones/3/rotation = Quaternion(-0.0515642, -1.19138e-07, -9.52299e-09, 0.99867)
 bones/3/scale = Vector3(1, 1, 1)
 bones/3/rotation = Quaternion(-0.0515642, -1.19138e-07, -9.52299e-09, 0.99867)
 bones/3/scale = Vector3(1, 1, 1)
-bones/4/rotation = Quaternion(-0.10979, 0.00375247, 0.0058305, 0.993931)
+bones/4/rotation = Quaternion(-0.118867, 0.00542142, 0.00513696, 0.992882)
 bones/4/scale = Vector3(1, 1, 1)
 bones/4/scale = Vector3(1, 1, 1)
-bones/5/rotation = Quaternion(0.0497245, 0.00853736, 0.0100116, 0.998676)
+bones/5/rotation = Quaternion(0.0424065, 0.0131392, 0.0102212, 0.998962)
 bones/5/scale = Vector3(0.999999, 1, 0.999999)
 bones/5/scale = Vector3(0.999999, 1, 0.999999)
-bones/6/rotation = Quaternion(0.2142, 0.00713651, -0.0406406, 0.975918)
-bones/7/rotation = Quaternion(-0.0948536, 0.00814933, -0.000776588, 0.995458)
-bones/8/rotation = Quaternion(-0.0324625, -0.0339369, -0.00576777, 0.99888)
-bones/9/position = Vector3(0.00903038, 1.03223, -0.0817403)
-bones/9/rotation = Quaternion(-0.00846974, -0.743354, -0.409401, 0.528908)
-bones/10/position = Vector3(0.00903043, 1.03223, -0.0817404)
-bones/10/rotation = Quaternion(-0.0257605, 0.716406, 0.406199, 0.566658)
-bones/11/position = Vector3(-0.00822125, 0.919822, 0.257638)
-bones/11/rotation = Quaternion(0.976311, -0.00719093, 0.0236773, 0.214954)
+bones/6/rotation = Quaternion(0.212476, 0.00396399, -0.0429584, 0.976214)
+bones/7/rotation = Quaternion(-0.0948562, 0.00215462, -0.000205305, 0.995489)
+bones/8/rotation = Quaternion(0.0354827, -0.0505498, -0.0202405, 0.997886)
+bones/9/position = Vector3(0.015688, 1.10693, -0.0572389)
+bones/9/rotation = Quaternion(-0.0168993, -0.746323, -0.408117, 0.525507)
+bones/10/position = Vector3(0.0156881, 1.10693, -0.0572389)
+bones/10/rotation = Quaternion(-0.0248836, 0.718608, 0.397575, 0.570016)
+bones/11/position = Vector3(-0.00380856, 0.999313, 0.283569)
+bones/11/rotation = Quaternion(0.974527, -0.0145109, 0.0233339, 0.222583)
 bones/11/scale = Vector3(0.999999, 0.999999, 1)
 bones/11/scale = Vector3(0.999999, 0.999999, 1)
-bones/12/position = Vector3(0.240986, 1.01906, -0.0570216)
-bones/12/rotation = Quaternion(0.967171, 0.159845, 0.0354786, 0.19435)
-bones/12/scale = Vector3(1.01454, 0.971551, 1.01454)
-bones/13/rotation = Quaternion(-1.96516e-08, -0.0661919, -6.12607e-08, 0.997807)
-bones/14/rotation = Quaternion(0.509704, -0.0653382, 0.039032, 0.856977)
-bones/14/scale = Vector3(1.0026, 0.962063, 1.03744)
-bones/15/rotation = Quaternion(4.67972e-08, 0.00102586, -2.16801e-08, 1)
-bones/16/rotation = Quaternion(-0.765287, 0.000963699, 0.107961, 0.63457)
-bones/16/scale = Vector3(0.984099, 0.984916, 1.032)
+bones/12/position = Vector3(0.247384, 1.09086, -0.0318425)
+bones/12/rotation = Quaternion(0.982452, 0.125414, 0.033123, 0.134022)
+bones/12/scale = Vector3(1.01195, 0.976522, 1.01195)
+bones/13/rotation = Quaternion(1.22129e-08, -0.0542721, -2.99332e-09, 0.998526)
+bones/14/rotation = Quaternion(0.388098, -0.0532355, 0.0223342, 0.919808)
+bones/14/scale = Vector3(1.0017, 0.979205, 1.02013)
+bones/15/rotation = Quaternion(1.09583e-07, -0.0244347, -1.04062e-08, 0.999701)
+bones/16/rotation = Quaternion(-0.719968, -0.0247094, 0.106267, 0.685378)
+bones/16/scale = Vector3(0.98762, 0.986641, 1.02637)
 bones/17/rotation = Quaternion(-0.000131442, 0.977292, -0.211898, -0.000613969)
 bones/17/scale = Vector3(0.999998, 1, 0.999998)
 bones/17/rotation = Quaternion(-0.000131442, 0.977292, -0.211898, -0.000613969)
 bones/17/scale = Vector3(0.999998, 1, 0.999998)
-bones/18/position = Vector3(-0.224332, 1.02095, -0.0800479)
-bones/18/rotation = Quaternion(0.964238, -0.14872, 0.0131037, 0.218986)
-bones/18/scale = Vector3(1.01666, 0.967494, 1.01666)
-bones/19/rotation = Quaternion(4.10491e-08, 0.0564494, -3.0245e-08, 0.998406)
-bones/20/rotation = Quaternion(0.504476, 0.0558302, -0.0328587, 0.860992)
-bones/20/scale = Vector3(1.00256, 0.958075, 1.04205)
-bones/21/rotation = Quaternion(3.27399e-08, 0.00791074, -3.96059e-08, 0.999969)
-bones/22/rotation = Quaternion(-0.747865, 0.00704424, -0.136463, 0.649635)
-bones/22/scale = Vector3(0.983132, 0.982336, 1.03583)
-bones/23/rotation = Quaternion(-0.000141628, 0.975984, -0.217842, -0.000612861)
+bones/18/position = Vector3(-0.217816, 1.09894, -0.0558989)
+bones/18/rotation = Quaternion(0.980505, -0.129684, 0.016301, 0.146721)
+bones/18/scale = Vector3(1.01394, 0.972695, 1.01394)
+bones/19/rotation = Quaternion(-1.24209e-08, 0.0601884, -4.43071e-08, 0.998187)
+bones/20/rotation = Quaternion(0.362075, 0.0592591, -0.0228539, 0.929983)
+bones/20/scale = Vector3(1.00157, 0.978894, 1.0208)
+bones/21/rotation = Quaternion(2.70815e-08, 0.0183892, -1.26417e-08, 0.999831)
+bones/22/rotation = Quaternion(-0.687773, 0.0184232, -0.151369, 0.70973)
+bones/22/scale = Vector3(0.987182, 0.98452, 1.02915)
+bones/23/rotation = Quaternion(-0.000139747, 0.97585, -0.218442, -0.00061328)
 bones/23/scale = Vector3(0.999997, 1, 0.999998)
 bones/23/scale = Vector3(0.999997, 1, 0.999998)
-bones/24/position = Vector3(0.131129, 2.43498, 0.340234)
-bones/24/rotation = Quaternion(0.200464, -0.108981, -0.138228, 0.963758)
-bones/25/position = Vector3(0.144124, 2.4864, 0.364534)
-bones/25/rotation = Quaternion(-0.350334, 0.0461838, -0.431657, 0.829943)
-bones/26/position = Vector3(0.17694, 2.50472, 0.334729)
-bones/26/rotation = Quaternion(0.74619, -0.121949, 0.645072, -0.110503)
+bones/24/position = Vector3(0.158623, 2.49862, 0.3308)
+bones/24/rotation = Quaternion(0.238394, -0.125695, -0.170269, 0.947828)
+bones/25/position = Vector3(0.173723, 2.54697, 0.359798)
+bones/25/rotation = Quaternion(-0.307155, 0.0612679, -0.461764, 0.829865)
+bones/26/position = Vector3(0.208679, 2.56543, 0.332631)
+bones/26/rotation = Quaternion(0.725861, -0.170427, 0.655117, -0.122075)
 bones/26/scale = Vector3(0.999998, 1.00001, 0.999995)
 bones/26/scale = Vector3(0.999998, 1.00001, 0.999995)
-bones/28/position = Vector3(0.142463, 2.40505, 0.335466)
-bones/28/rotation = Quaternion(0.143574, -0.415056, 0.129982, 0.888943)
-bones/29/position = Vector3(-0.134838, 2.45316, 0.332531)
-bones/29/rotation = Quaternion(0.203348, 0.0671869, 0.0779682, 0.973682)
-bones/30/position = Vector3(-0.142102, 2.50596, 0.356245)
-bones/30/rotation = Quaternion(-0.364989, -0.0461563, 0.363803, 0.855745)
-bones/31/position = Vector3(-0.170352, 2.52845, 0.324671)
-bones/31/rotation = Quaternion(0.771085, 0.0739593, -0.614221, -0.150632)
-bones/33/position = Vector3(-0.149841, 2.42503, 0.327)
-bones/33/rotation = Quaternion(0.175217, 0.378459, -0.186053, 0.889636)
-bones/34/position = Vector3(-0.0143648, 2.32442, 0.486072)
-bones/34/rotation = Quaternion(-0.56785, 0.00748188, -0.036266, 0.822299)
-bones/35/position = Vector3(-0.0154793, 2.33608, 0.552057)
-bones/35/rotation = Quaternion(-0.72272, 0.0146763, -0.0339973, 0.690149)
+bones/27/scale = Vector3(1, 0.999996, 1)
+bones/28/position = Vector3(0.168205, 2.4685, 0.3239)
+bones/28/rotation = Quaternion(0.164173, -0.439204, 0.0864802, 0.879016)
+bones/29/position = Vector3(-0.105215, 2.53479, 0.316701)
+bones/29/rotation = Quaternion(0.243767, 0.0411019, 0.0525414, 0.967537)
+bones/30/position = Vector3(-0.110215, 2.58595, 0.344392)
+bones/30/rotation = Quaternion(-0.336967, -0.0634489, 0.327647, 0.880383)
+bones/31/position = Vector3(-0.135836, 2.61272, 0.313938)
+bones/31/rotation = Quaternion(0.776388, 0.0765951, -0.592559, -0.200573)
+bones/33/position = Vector3(-0.121761, 2.50826, 0.308399)
+bones/33/rotation = Quaternion(0.226691, 0.365023, -0.196096, 0.881428)
+bones/34/position = Vector3(0.00105981, 2.38651, 0.462591)
+bones/34/rotation = Quaternion(-0.532495, 0.0135932, -0.0719269, 0.843262)
+bones/35/position = Vector3(-0.00168601, 2.39286, 0.529249)
+bones/35/rotation = Quaternion(-0.692346, 0.0278897, -0.0676779, 0.717844)
 bones/35/scale = Vector3(0.999995, 1.00001, 0.999993)
 bones/36/rotation = Quaternion(0.172857, -8.96689e-08, 5.17381e-07, 0.984947)
 bones/36/scale = Vector3(1.00001, 0.99999, 1)
 bones/35/scale = Vector3(0.999995, 1.00001, 0.999993)
 bones/36/rotation = Quaternion(0.172857, -8.96689e-08, 5.17381e-07, 0.984947)
 bones/36/scale = Vector3(1.00001, 0.99999, 1)
-bones/37/position = Vector3(0.0123342, 2.34878, 0.505884)
-bones/37/rotation = Quaternion(-0.0758279, 0.560202, 0.780345, 0.267368)
-bones/38/position = Vector3(-0.0386019, 2.35226, 0.504409)
-bones/38/rotation = Quaternion(0.0912536, 0.561223, 0.798612, -0.197282)
-bones/39/position = Vector3(0.0686099, 2.43614, 0.477006)
-bones/39/rotation = Quaternion(0.00748181, 0.56785, 0.822299, 0.036266)
-bones/40/position = Vector3(0.0299158, 2.42119, 0.501704)
-bones/40/rotation = Quaternion(0.748051, 0.521628, 0.329955, -0.243833)
+bones/37/position = Vector3(0.0285146, 2.40738, 0.485161)
+bones/37/rotation = Quaternion(-0.0596794, 0.525421, 0.792202, 0.304611)
+bones/38/position = Vector3(-0.0220142, 2.41432, 0.482419)
+bones/38/rotation = Quaternion(0.0878606, 0.528035, 0.828278, -0.165575)
+bones/39/position = Vector3(0.0911943, 2.49289, 0.465353)
+bones/39/rotation = Quaternion(0.0135931, 0.532495, 0.843262, 0.0719268)
+bones/40/position = Vector3(0.0507715, 2.47857, 0.487532)
+bones/40/rotation = Quaternion(0.748316, 0.487216, 0.371142, -0.254749)
 bones/40/scale = Vector3(0.999991, 1.00002, 0.999991)
 bones/41/rotation = Quaternion(0.0748443, -0.0181031, -0.0431399, 0.996097)
 bones/41/scale = Vector3(1.00002, 0.999968, 1.00002)
 bones/40/scale = Vector3(0.999991, 1.00002, 0.999991)
 bones/41/rotation = Quaternion(0.0748443, -0.0181031, -0.0431399, 0.996097)
 bones/41/scale = Vector3(1.00002, 0.999968, 1.00002)
@@ -168,8 +196,8 @@ bones/42/rotation = Quaternion(0.274345, -0.0136419, -0.129806, 0.952732)
 bones/42/scale = Vector3(0.999996, 1, 1)
 bones/43/rotation = Quaternion(0.27804, -0.00341172, 0.0671248, 0.958215)
 bones/43/scale = Vector3(0.999993, 1.00001, 0.999995)
 bones/42/scale = Vector3(0.999996, 1, 1)
 bones/43/rotation = Quaternion(0.27804, -0.00341172, 0.0671248, 0.958215)
 bones/43/scale = Vector3(0.999993, 1.00001, 0.999995)
-bones/44/position = Vector3(0.105055, 2.434, 0.479591)
-bones/44/rotation = Quaternion(-0.607986, 0.636256, 0.351703, -0.319119)
+bones/44/position = Vector3(0.127316, 2.48815, 0.468868)
+bones/44/rotation = Quaternion(-0.60542, 0.645885, 0.377385, -0.27181)
 bones/44/scale = Vector3(0.999998, 1, 0.999998)
 bones/45/rotation = Quaternion(0.2161, 2.22311e-06, 4.32705e-05, 0.976371)
 bones/45/scale = Vector3(1, 0.999993, 1)
 bones/44/scale = Vector3(0.999998, 1, 0.999998)
 bones/45/rotation = Quaternion(0.2161, 2.22311e-06, 4.32705e-05, 0.976371)
 bones/45/scale = Vector3(1, 0.999993, 1)
@@ -177,12 +205,12 @@ bones/46/rotation = Quaternion(0.356977, 0.00869095, -0.115439, 0.926912)
 bones/46/scale = Vector3(1.00001, 0.99998, 1.00001)
 bones/47/rotation = Quaternion(0.0323413, 0.0279362, -0.125436, 0.991181)
 bones/47/scale = Vector3(0.999984, 1.00003, 0.999982)
 bones/46/scale = Vector3(1.00001, 0.99998, 1.00001)
 bones/47/rotation = Quaternion(0.0323413, 0.0279362, -0.125436, 0.991181)
 bones/47/scale = Vector3(0.999984, 1.00003, 0.999982)
-bones/48/position = Vector3(0.0686099, 2.43614, 0.477006)
-bones/48/rotation = Quaternion(0.00748188, 0.56785, 0.822299, 0.0362659)
-bones/50/position = Vector3(-0.0807253, 2.44634, 0.472681)
-bones/50/rotation = Quaternion(0.00748181, 0.56785, 0.822299, 0.036266)
-bones/51/position = Vector3(-0.0459094, 2.42637, 0.499508)
-bones/51/rotation = Quaternion(0.719977, -0.564137, -0.290829, -0.280715)
+bones/48/position = Vector3(0.0911943, 2.49289, 0.465353)
+bones/48/rotation = Quaternion(0.0135931, 0.532495, 0.843262, 0.0719268)
+bones/50/position = Vector3(-0.0569468, 2.51322, 0.457316)
+bones/50/rotation = Quaternion(0.0135931, 0.532495, 0.843262, 0.0719268)
+bones/51/position = Vector3(-0.0244476, 2.4889, 0.48345)
+bones/51/rotation = Quaternion(0.694061, -0.569932, -0.29241, -0.328563)
 bones/51/scale = Vector3(0.999994, 1.00001, 0.999994)
 bones/52/rotation = Quaternion(0.0748532, 0.0181026, 0.0431495, 0.996096)
 bones/52/scale = Vector3(1.00001, 0.999982, 1.00001)
 bones/51/scale = Vector3(0.999994, 1.00001, 0.999994)
 bones/52/rotation = Quaternion(0.0748532, 0.0181026, 0.0431495, 0.996096)
 bones/52/scale = Vector3(1.00001, 0.999982, 1.00001)
@@ -190,8 +218,8 @@ bones/53/rotation = Quaternion(0.274339, 0.013641, 0.129806, 0.952734)
 bones/53/scale = Vector3(0.999994, 1.00001, 0.999996)
 bones/54/rotation = Quaternion(0.278045, 0.00341402, -0.0671337, 0.958213)
 bones/54/scale = Vector3(1.00001, 0.999981, 1.00001)
 bones/53/scale = Vector3(0.999994, 1.00001, 0.999996)
 bones/54/rotation = Quaternion(0.278045, 0.00341402, -0.0671337, 0.958213)
 bones/54/scale = Vector3(1.00001, 0.999981, 1.00001)
-bones/55/position = Vector3(-0.117211, 2.44919, 0.473154)
-bones/55/rotation = Quaternion(0.639497, 0.583885, 0.346544, 0.360597)
+bones/55/position = Vector3(-0.0931736, 2.51841, 0.456905)
+bones/55/rotation = Quaternion(0.666396, 0.542142, 0.368944, 0.354794)
 bones/55/scale = Vector3(0.999997, 1.00001, 0.999997)
 bones/56/rotation = Quaternion(0.216103, -7.73366e-06, -1.78721e-05, 0.976371)
 bones/56/scale = Vector3(1.00001, 0.999986, 1.00001)
 bones/55/scale = Vector3(0.999997, 1.00001, 0.999997)
 bones/56/rotation = Quaternion(0.216103, -7.73366e-06, -1.78721e-05, 0.976371)
 bones/56/scale = Vector3(1.00001, 0.999986, 1.00001)
@@ -199,56 +227,56 @@ bones/57/rotation = Quaternion(0.356974, -0.00869836, 0.115457, 0.926911)
 bones/57/scale = Vector3(0.999996, 1, 1)
 bones/58/rotation = Quaternion(0.0323403, -0.0279344, 0.125375, 0.991189)
 bones/58/scale = Vector3(1.00001, 0.999986, 1.00001)
 bones/57/scale = Vector3(0.999996, 1, 1)
 bones/58/rotation = Quaternion(0.0323403, -0.0279344, 0.125375, 0.991189)
 bones/58/scale = Vector3(1.00001, 0.999986, 1.00001)
-bones/59/position = Vector3(-0.0807253, 2.44634, 0.472681)
-bones/59/rotation = Quaternion(0.00748176, 0.56785, 0.822299, 0.036266)
-bones/61/position = Vector3(-0.0163595, 2.28429, 0.460266)
-bones/61/rotation = Quaternion(-0.56785, 0.00748187, -0.036266, 0.822299)
-bones/62/position = Vector3(-0.0148568, 2.29907, 0.443252)
-bones/62/rotation = Quaternion(-0.4751, 0.00349544, -0.0368644, 0.879153)
-bones/65/position = Vector3(-0.00329922, 2.44362, 0.385204)
-bones/65/rotation = Quaternion(0.993041, -0.0354962, 0.0105463, 0.111798)
-bones/66/position = Vector3(-0.0203814, 2.21561, 0.437088)
-bones/66/rotation = Quaternion(0.355826, -0.0256437, -0.0267133, 0.933818)
+bones/59/position = Vector3(-0.0569468, 2.51322, 0.457316)
+bones/59/rotation = Quaternion(0.013593, 0.532496, 0.843262, 0.071927)
+bones/61/position = Vector3(-0.00253631, 2.34881, 0.433502)
+bones/61/rotation = Quaternion(-0.532495, 0.0135932, -0.0719269, 0.843262)
+bones/62/position = Vector3(0.00081859, 2.36472, 0.417758)
+bones/62/rotation = Quaternion(-0.437676, 0.00569417, -0.0729782, 0.896148)
+bones/65/position = Vector3(0.023535, 2.51237, 0.372269)
+bones/65/rotation = Quaternion(0.994806, -0.0698113, 0.0220144, 0.0707338)
+bones/66/position = Vector3(-0.0100516, 2.28263, 0.404603)
+bones/66/rotation = Quaternion(0.393132, -0.0515654, -0.0519544, 0.916564)
 bones/66/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/67/scale = Vector3(1.00001, 0.999973, 1.00001)
 bones/66/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/67/scale = Vector3(1.00001, 0.999973, 1.00001)
-bones/68/position = Vector3(-0.0157567, 2.25133, 0.361682)
-bones/68/rotation = Quaternion(0.844803, -0.0365413, -0.00599462, 0.533795)
-bones/69/position = Vector3(0.130697, 2.43446, 0.389084)
-bones/69/rotation = Quaternion(0.98251, -0.121146, -0.00576956, -0.141297)
-bones/72/position = Vector3(-0.137296, 2.45277, 0.381323)
-bones/72/rotation = Quaternion(0.987904, 0.0579467, 0.0437592, -0.137017)
-bones/75/position = Vector3(-0.015993, 2.30714, 0.501514)
-bones/75/rotation = Quaternion(-0.441121, -0.338401, -0.526645, 0.643072)
+bones/68/position = Vector3(-0.000225492, 2.3239, 0.332512)
+bones/68/rotation = Quaternion(0.864304, -0.072422, -0.0106445, 0.497614)
+bones/69/position = Vector3(0.156442, 2.49418, 0.379402)
+bones/69/rotation = Quaternion(0.971437, -0.150107, 0.0102164, -0.183504)
+bones/72/position = Vector3(-0.109421, 2.53065, 0.365197)
+bones/72/rotation = Quaternion(0.981957, 0.0264442, 0.0669529, -0.174868)
+bones/75/position = Vector3(-0.00221003, 2.36818, 0.476491)
+bones/75/rotation = Quaternion(-0.416312, -0.312788, -0.567836, 0.637503)
 bones/76/rotation = Quaternion(-0.152114, -0.0958311, 0.26607, 0.94704)
 bones/76/scale = Vector3(0.999995, 1.00001, 0.999996)
 bones/76/rotation = Quaternion(-0.152114, -0.0958311, 0.26607, 0.94704)
 bones/76/scale = Vector3(0.999995, 1.00001, 0.999996)
-bones/77/position = Vector3(-0.015993, 2.30714, 0.501514)
-bones/77/rotation = Quaternion(-0.432065, 0.348956, 0.468641, 0.686968)
+bones/77/position = Vector3(-0.00221003, 2.36818, 0.476491)
+bones/77/rotation = Quaternion(-0.399852, 0.33175, 0.45284, 0.724566)
 bones/78/rotation = Quaternion(-0.152099, 0.0958265, -0.266074, 0.947042)
 bones/78/scale = Vector3(0.999996, 1.00001, 0.999997)
 bones/78/rotation = Quaternion(-0.152099, 0.0958265, -0.266074, 0.947042)
 bones/78/scale = Vector3(0.999996, 1.00001, 0.999997)
-bones/79/position = Vector3(-0.0169313, 2.2874, 0.487339)
-bones/79/rotation = Quaternion(-0.377984, -0.330162, -0.453955, 0.736238)
+bones/79/position = Vector3(-0.00388304, 2.34975, 0.460709)
+bones/79/rotation = Quaternion(-0.350395, -0.311137, -0.496872, 0.730435)
 bones/79/scale = Vector3(0.999996, 1.00001, 0.999996)
 bones/80/rotation = Quaternion(-0.0082481, 0.0772324, 0.0388616, 0.996221)
 bones/80/scale = Vector3(1.00001, 0.999983, 1.00001)
 bones/79/scale = Vector3(0.999996, 1.00001, 0.999996)
 bones/80/rotation = Quaternion(-0.0082481, 0.0772324, 0.0388616, 0.996221)
 bones/80/scale = Vector3(1.00001, 0.999983, 1.00001)
-bones/81/position = Vector3(-0.0169313, 2.2874, 0.487339)
-bones/81/rotation = Quaternion(-0.367563, 0.333747, 0.391626, 0.774687)
+bones/81/position = Vector3(-0.00388304, 2.34975, 0.460709)
+bones/81/rotation = Quaternion(-0.331053, 0.316178, 0.373553, 0.80678)
 bones/81/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/82/rotation = Quaternion(-0.00824437, -0.0772325, -0.0388543, 0.996222)
 bones/82/scale = Vector3(1.00001, 0.999978, 1.00001)
 bones/81/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/82/rotation = Quaternion(-0.00824437, -0.0772325, -0.0388543, 0.996222)
 bones/82/scale = Vector3(1.00001, 0.999978, 1.00001)
-bones/83/position = Vector3(0.108809, 2.44269, 0.486024)
-bones/83/rotation = Quaternion(0.209062, 0.436325, 0.623783, 0.613847)
+bones/83/position = Vector3(0.131377, 2.49602, 0.47611)
+bones/83/rotation = Quaternion(0.237574, 0.393144, 0.624385, 0.631775)
 bones/83/scale = Vector3(0.999998, 1, 0.999998)
 bones/84/rotation = Quaternion(-0.223152, -3.36832e-06, 0.0151671, 0.974666)
 bones/84/scale = Vector3(1, 1, 0.999999)
 bones/85/rotation = Quaternion(-0.299471, 2.72422e-06, -0.0939843, 0.949465)
 bones/86/rotation = Quaternion(-0.172955, -4.25693e-07, 0.173112, 0.969597)
 bones/86/scale = Vector3(0.999992, 1.00002, 0.999992)
 bones/83/scale = Vector3(0.999998, 1, 0.999998)
 bones/84/rotation = Quaternion(-0.223152, -3.36832e-06, 0.0151671, 0.974666)
 bones/84/scale = Vector3(1, 1, 0.999999)
 bones/85/rotation = Quaternion(-0.299471, 2.72422e-06, -0.0939843, 0.949465)
 bones/86/rotation = Quaternion(-0.172955, -4.25693e-07, 0.173112, 0.969597)
 bones/86/scale = Vector3(0.999992, 1.00002, 0.999992)
-bones/87/position = Vector3(0.0245967, 2.43066, 0.501723)
-bones/87/rotation = Quaternion(-0.379697, 0.062268, 0.912652, 0.137908)
+bones/87/position = Vector3(0.0460635, 2.48834, 0.488173)
+bones/87/rotation = Quaternion(-0.386681, 0.034783, 0.90305, 0.183761)
 bones/87/scale = Vector3(1, 0.999998, 1)
 bones/88/scale = Vector3(1, 0.999995, 1)
 bones/87/scale = Vector3(1, 0.999998, 1)
 bones/88/scale = Vector3(1, 0.999995, 1)
-bones/89/position = Vector3(-0.120114, 2.45833, 0.479394)
-bones/89/rotation = Quaternion(0.196778, -0.467092, -0.657879, 0.557045)
+bones/89/position = Vector3(-0.0957155, 2.52719, 0.463789)
+bones/89/rotation = Quaternion(0.215158, -0.455101, -0.690725, 0.519123)
 bones/89/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/90/rotation = Quaternion(-0.223173, -2.162e-06, -0.0151925, 0.97466)
 bones/90/scale = Vector3(1.00001, 0.999989, 1)
 bones/89/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/90/rotation = Quaternion(-0.223173, -2.162e-06, -0.0151925, 0.97466)
 bones/90/scale = Vector3(1.00001, 0.999989, 1)
@@ -256,115 +284,118 @@ bones/91/rotation = Quaternion(-0.299462, -6.08687e-08, 0.0939902, 0.949467)
 bones/91/scale = Vector3(0.999997, 1, 0.999999)
 bones/92/rotation = Quaternion(-0.172932, -3.16152e-07, -0.173093, 0.969605)
 bones/92/scale = Vector3(1.00001, 0.999989, 1.00001)
 bones/91/scale = Vector3(0.999997, 1, 0.999999)
 bones/92/rotation = Quaternion(-0.172932, -3.16152e-07, -0.173093, 0.969605)
 bones/92/scale = Vector3(1.00001, 0.999989, 1.00001)
-bones/93/position = Vector3(-0.0393628, 2.43503, 0.499871)
-bones/93/rotation = Quaternion(0.356539, 0.0402075, 0.930513, -0.0735453)
+bones/93/position = Vector3(-0.0173845, 2.49705, 0.48473)
+bones/93/rotation = Quaternion(0.338787, -0.00823259, 0.93908, -0.0573043)
 bones/93/scale = Vector3(0.999998, 1, 0.999998)
 bones/94/scale = Vector3(1, 0.999994, 1)
 bones/93/scale = Vector3(0.999998, 1, 0.999998)
 bones/94/scale = Vector3(1, 0.999994, 1)
-bones/95/position = Vector3(0.118097, 2.437, 0.438267)
-bones/95/rotation = Quaternion(0.496698, -0.315651, -0.173002, 0.789763)
-bones/96/position = Vector3(0.115748, 2.46303, 0.49035)
-bones/96/rotation = Quaternion(0.665542, -0.453832, 0.121202, 0.58)
+bones/95/position = Vector3(0.142306, 2.49354, 0.428226)
+bones/95/rotation = Quaternion(0.520966, -0.337299, -0.202894, 0.757402)
+bones/96/position = Vector3(0.139427, 2.51545, 0.482317)
+bones/96/rotation = Quaternion(0.671615, -0.48927, 0.094806, 0.548234)
 bones/97/rotation = Quaternion(0.295784, -1.33077e-06, 0.145409, 0.944123)
 bones/97/rotation = Quaternion(0.295784, -1.33077e-06, 0.145409, 0.944123)
-bones/98/position = Vector3(0.0241285, 2.44937, 0.531894)
-bones/98/rotation = Quaternion(0.729409, -0.483136, 0.468543, 0.122512)
-bones/99/position = Vector3(-0.127322, 2.45377, 0.431159)
-bones/99/rotation = Quaternion(0.511847, 0.25813, 0.133059, 0.808503)
-bones/100/position = Vector3(-0.124461, 2.47944, 0.483394)
-bones/100/rotation = Quaternion(0.698145, 0.390485, -0.14117, 0.583255)
+bones/98/position = Vector3(0.0456942, 2.50455, 0.51976)
+bones/98/rotation = Quaternion(0.709918, -0.52719, 0.456263, 0.0995556)
+bones/99/position = Vector3(-0.101163, 2.52695, 0.415218)
+bones/99/rotation = Quaternion(0.550293, 0.222292, 0.125841, 0.794939)
+bones/100/position = Vector3(-0.0988623, 2.54816, 0.469388)
+bones/100/rotation = Quaternion(0.735935, 0.36341, -0.132181, 0.555753)
 bones/101/rotation = Quaternion(0.295786, 2.91753e-07, -0.145407, 0.944123)
 bones/101/rotation = Quaternion(0.295786, 2.91753e-07, -0.145407, 0.944123)
-bones/102/position = Vector3(-0.0380945, 2.45362, 0.530091)
-bones/102/rotation = Quaternion(0.773863, 0.428569, -0.454539, 0.104204)
-bones/103/position = Vector3(0.0360338, 2.30577, 0.470303)
-bones/103/rotation = Quaternion(-0.346524, -0.245593, -0.389703, 0.817152)
-bones/105/position = Vector3(-0.0658383, 2.31273, 0.467352)
-bones/105/rotation = Quaternion(-0.340095, 0.24493, 0.322945, 0.848558)
-bones/107/position = Vector3(0.118097, 2.437, 0.438267)
-bones/107/rotation = Quaternion(0.797695, -0.360311, -0.475087, 0.0902786)
-bones/109/position = Vector3(-0.127322, 2.45377, 0.431159)
-bones/109/rotation = Quaternion(0.806338, 0.30236, 0.490672, 0.13281)
-bones/111/position = Vector3(0.0233141, 2.53698, 0.530577)
-bones/111/rotation = Quaternion(0.706083, 0.00860369, 0.708074, 0.00201625)
-bones/112/position = Vector3(0.0698415, 2.54867, 0.514085)
-bones/112/rotation = Quaternion(0.788321, 0.0785408, 0.610229, 0.00173359)
-bones/113/position = Vector3(0.106005, 2.55298, 0.481354)
-bones/113/rotation = Quaternion(0.927436, 0.0682029, 0.366762, 0.0263705)
-bones/114/position = Vector3(-0.0253067, 2.5403, 0.529168)
-bones/114/rotation = Quaternion(0.724011, -0.0567508, -0.685876, -0.0464862)
-bones/115/position = Vector3(-0.0687856, 2.55814, 0.51007)
-bones/115/rotation = Quaternion(0.798432, -0.13209, -0.585905, -0.0421215)
-bones/116/position = Vector3(-0.102081, 2.5672, 0.475327)
-bones/116/rotation = Quaternion(0.930839, -0.131973, -0.340767, -0.000662669)
-bones/117/position = Vector3(-0.00819727, 2.42953, 0.521086)
-bones/117/rotation = Quaternion(0.988709, -0.0358313, 0.00934399, 0.145202)
+bones/102/position = Vector3(-0.0160313, 2.51302, 0.516411)
+bones/102/rotation = Quaternion(0.798384, 0.419801, -0.426787, 0.0648328)
+bones/103/position = Vector3(0.0507139, 2.36591, 0.446882)
+bones/103/rotation = Quaternion(-0.313999, -0.231697, -0.43134, 0.813429)
+bones/105/position = Vector3(-0.0503437, 2.37978, 0.441399)
+bones/105/rotation = Quaternion(-0.302326, 0.228188, 0.299414, 0.875717)
+bones/107/position = Vector3(0.142306, 2.49354, 0.428226)
+bones/107/rotation = Quaternion(0.796474, -0.367595, -0.478746, 0.0361444)
+bones/109/position = Vector3(-0.101163, 2.52695, 0.415218)
+bones/109/rotation = Quaternion(0.812154, 0.253567, 0.511459, 0.120493)
+bones/111/position = Vector3(0.0504605, 2.59184, 0.525679)
+bones/111/rotation = Quaternion(0.693586, -0.0432301, 0.719065, -0.00387396)
+bones/112/position = Vector3(0.0981955, 2.60173, 0.511645)
+bones/112/rotation = Quaternion(0.779578, 0.0279532, 0.625609, -0.00951861)
+bones/112/scale = Vector3(1, 0.999998, 1)
+bones/113/position = Vector3(0.135711, 2.60628, 0.480507)
+bones/113/rotation = Quaternion(0.923217, 0.0226948, 0.383607, 0.00135333)
+bones/114/position = Vector3(0.00222854, 2.59846, 0.523062)
+bones/114/rotation = Quaternion(0.730619, -0.0512025, -0.673605, -0.0991488)
+bones/115/position = Vector3(-0.0393231, 2.62061, 0.504183)
+bones/115/rotation = Quaternion(0.801008, -0.132997, -0.575767, -0.0958647)
+bones/115/scale = Vector3(1, 0.999996, 1)
+bones/116/position = Vector3(-0.0707104, 2.63461, 0.469307)
+bones/116/rotation = Quaternion(0.930832, -0.147881, -0.330125, -0.0519667)
+bones/117/position = Vector3(0.0125892, 2.48781, 0.506362)
+bones/117/rotation = Quaternion(0.991857, -0.0705139, 0.0196493, 0.104219)
+bones/117/scale = Vector3(0.999997, 1, 0.999997)
 bones/118/rotation = Quaternion(-0.0510243, -8.36275e-09, -1.62563e-07, 0.998697)
 bones/118/scale = Vector3(1.00001, 0.999989, 1.00001)
 bones/118/rotation = Quaternion(-0.0510243, -8.36275e-09, -1.62563e-07, 0.998697)
 bones/118/scale = Vector3(1.00001, 0.999989, 1.00001)
-bones/119/position = Vector3(-0.0139996, 2.34161, 0.514004)
-bones/119/rotation = Quaternion(0.977804, -0.0303776, 0.0211757, -0.206221)
+bones/119/position = Vector3(0.00150565, 2.40132, 0.491848)
+bones/119/rotation = Quaternion(0.966565, -0.0593439, 0.042855, -0.245753)
 bones/119/scale = Vector3(0.999996, 1.00001, 0.999998)
 bones/119/scale = Vector3(0.999996, 1.00001, 0.999998)
-bones/120/position = Vector3(0.129329, 2.54273, 0.4255)
-bones/120/rotation = Quaternion(0.986744, 0.00366902, 0.0146567, -0.161583)
-bones/121/position = Vector3(-0.123326, 2.55999, 0.418183)
-bones/121/rotation = Quaternion(0.984211, -0.0662289, 0.0248935, -0.162244)
-bones/122/position = Vector3(0.0252086, 2.6667, -0.0728253)
-bones/122/rotation = Quaternion(-0.620654, -0.000315184, -0.0519921, 0.782359)
-bones/123/rotation = Quaternion(-0.323056, -0.00701239, -0.0345624, 0.945723)
-bones/124/rotation = Quaternion(-0.309811, -0.00640695, -0.0292426, 0.950327)
-bones/125/rotation = Quaternion(-0.235327, -0.000999618, -0.0108322, 0.971855)
-bones/126/position = Vector3(0.0155486, 2.04947, 0.286213)
-bones/126/rotation = Quaternion(-0.548845, -0.243051, -0.416402, 0.682864)
-bones/127/position = Vector3(0.443523, 2.04398, 0.00730048)
-bones/127/rotation = Quaternion(-0.169632, -0.307197, 0.9141, -0.203168)
-bones/127/scale = Vector3(1.01185, 0.976713, 1.01185)
-bones/128/rotation = Quaternion(1.90017e-08, -0.0920099, -6.15484e-08, 0.995758)
-bones/129/rotation = Quaternion(0.476658, -0.0912474, 0.0500808, 0.872905)
-bones/129/scale = Vector3(1.0007, 0.974193, 1.02631)
-bones/130/rotation = Quaternion(7.66621e-08, 0.224773, 1.38909e-07, 0.974411)
-bones/131/rotation = Quaternion(0.149025, 0.2242, -0.149536, 0.951402)
-bones/131/scale = Vector3(0.989421, 1.01903, 0.992227)
-bones/132/rotation = Quaternion(0.0789143, 0.555346, 0.159617, 0.812334)
-bones/133/rotation = Quaternion(0.348302, -0.351007, 0.0556887, 0.867398)
+bones/120/position = Vector3(0.160631, 2.59899, 0.424635)
+bones/120/rotation = Quaternion(0.978525, -0.0261141, 0.0364466, -0.201194)
+bones/121/position = Vector3(-0.0903015, 2.63345, 0.411138)
+bones/121/rotation = Quaternion(0.973541, -0.0962336, 0.0437862, -0.202585)
+bones/122/position = Vector3(0.0822149, 2.7694, -0.0645646)
+bones/122/rotation = Quaternion(-0.586464, 0.013807, -0.0796532, 0.805931)
+bones/123/rotation = Quaternion(-0.317547, -0.00135129, -0.00740384, 0.948213)
+bones/124/rotation = Quaternion(-0.287024, 0.000105714, -0.000516238, 0.957923)
+bones/125/rotation = Quaternion(-0.205185, 0.000946214, 0.00424978, 0.978713)
+bones/126/position = Vector3(0.0396543, 2.13748, 0.283687)
+bones/126/rotation = Quaternion(-0.573649, -0.254567, -0.33542, 0.702578)
+bones/127/position = Vector3(0.434928, 2.16626, -0.0386687)
+bones/127/rotation = Quaternion(-0.126498, -0.159077, 0.944413, -0.258414)
+bones/127/scale = Vector3(1.00939, 0.981474, 1.00939)
+bones/128/rotation = Quaternion(1.38294e-08, -0.0567122, -5.50099e-08, 0.998391)
+bones/129/rotation = Quaternion(0.305625, -0.0563909, 0.018011, 0.95031)
+bones/129/scale = Vector3(0.999908, 0.99071, 1.00983)
+bones/130/rotation = Quaternion(3.8547e-08, 0.253334, 2.22125e-08, 0.967379)
+bones/131/rotation = Quaternion(0.274625, 0.252755, -0.204978, 0.904809)
+bones/131/scale = Vector3(0.992539, 1.00734, 1.00058)
+bones/132/rotation = Quaternion(0.119552, 0.552513, 0.150994, 0.810949)
+bones/133/rotation = Quaternion(0.430164, -0.351033, 0.0611865, 0.829453)
 bones/133/scale = Vector3(1, 0.999988, 0.999998)
 bones/133/scale = Vector3(1, 0.999988, 0.999998)
-bones/134/rotation = Quaternion(0.313188, -0.0426455, -0.0566837, 0.947038)
+bones/134/rotation = Quaternion(0.394073, -0.0606671, -0.0735686, 0.914119)
 bones/135/rotation = Quaternion(-0.149154, 0.948608, 0.276143, 0.040507)
 bones/136/rotation = Quaternion(0.474588, -0.339129, 0.218, 0.782454)
 bones/137/rotation = Quaternion(0.119079, -0.0302991, -0.146089, 0.981611)
 bones/135/rotation = Quaternion(-0.149154, 0.948608, 0.276143, 0.040507)
 bones/136/rotation = Quaternion(0.474588, -0.339129, 0.218, 0.782454)
 bones/137/rotation = Quaternion(0.119079, -0.0302991, -0.146089, 0.981611)
-bones/139/rotation = Quaternion(0.191981, 0.510081, 0.0753994, 0.83503)
-bones/140/rotation = Quaternion(0.376281, -0.46417, 0.0920947, 0.796541)
-bones/141/rotation = Quaternion(0.214189, -0.04567, -0.0507694, 0.974402)
-bones/143/rotation = Quaternion(0.339356, 0.464088, 0.0419575, 0.817129)
-bones/144/rotation = Quaternion(0.345757, -0.463892, 0.0665329, 0.812914)
-bones/145/rotation = Quaternion(0.311621, -0.0509995, -0.0301799, 0.948357)
-bones/147/rotation = Quaternion(0.479422, 0.365165, -0.0547923, 0.79612)
-bones/148/rotation = Quaternion(0.319008, -0.529149, 0.0574086, 0.784181)
-bones/149/rotation = Quaternion(0.237784, -0.0519979, -0.0438702, 0.968933)
-bones/151/position = Vector3(-0.0375086, 2.04782, 0.284593)
-bones/151/rotation = Quaternion(-0.557854, 0.241485, 0.396156, 0.688146)
-bones/152/position = Vector3(-0.455682, 2.04901, -0.0088588)
-bones/152/rotation = Quaternion(0.157284, -0.304337, 0.901943, 0.262944)
-bones/152/scale = Vector3(1.01892, 0.963207, 1.01892)
-bones/153/rotation = Quaternion(-1.15379e-07, 0.0804712, -7.26213e-08, 0.996757)
-bones/154/rotation = Quaternion(0.583592, 0.0796131, -0.0582918, 0.80603)
-bones/154/scale = Vector3(1.00129, 0.947993, 1.05409)
-bones/155/rotation = Quaternion(1.50283e-07, -0.238902, -1.96399e-07, 0.971044)
-bones/156/rotation = Quaternion(0.0862326, -0.238004, 0.180077, 0.950521)
-bones/156/scale = Vector3(0.985828, 1.0318, 0.984088)
-bones/157/rotation = Quaternion(0.0792521, -0.556025, -0.15636, 0.81247)
-bones/158/rotation = Quaternion(0.351799, 0.348292, -0.0616147, 0.86668)
-bones/159/rotation = Quaternion(0.31171, 0.0399278, 0.05282, 0.947868)
+bones/139/rotation = Quaternion(0.240873, 0.500429, 0.0746434, 0.828239)
+bones/140/rotation = Quaternion(0.472159, -0.464537, 0.104463, 0.741861)
+bones/141/rotation = Quaternion(0.312897, -0.0754694, -0.0778769, 0.943576)
+bones/143/rotation = Quaternion(0.393353, 0.446855, 0.0386533, 0.802558)
+bones/144/rotation = Quaternion(0.45958, -0.464468, 0.0801615, 0.752748)
+bones/145/rotation = Quaternion(0.421622, -0.0889137, -0.0600592, 0.900401)
+bones/147/rotation = Quaternion(0.529742, 0.338143, -0.0469341, 0.776421)
+bones/148/rotation = Quaternion(0.439577, -0.535762, 0.0779249, 0.7167)
+bones/149/rotation = Quaternion(0.354813, -0.0922993, -0.0863438, 0.926355)
+bones/151/position = Vector3(-0.0134361, 2.13655, 0.282718)
+bones/151/rotation = Quaternion(-0.576217, 0.27048, 0.322995, 0.700349)
+bones/152/position = Vector3(-0.410086, 2.17092, -0.0373924)
+bones/152/rotation = Quaternion(0.127661, -0.148567, 0.934928, 0.295873)
+bones/152/scale = Vector3(1.01514, 0.970401, 1.01514)
+bones/153/rotation = Quaternion(-2.18441e-08, 0.0439436, -4.93199e-08, 0.999034)
+bones/154/rotation = Quaternion(0.397682, 0.0434092, -0.0188336, 0.916302)
+bones/154/scale = Vector3(1.0004, 0.97593, 1.02528)
+bones/155/rotation = Quaternion(1.03808e-08, -0.240493, 2.50351e-07, 0.970651)
+bones/156/rotation = Quaternion(0.232024, -0.239984, 0.167762, 0.927593)
+bones/156/scale = Vector3(0.986705, 1.01753, 0.996956)
+bones/157/rotation = Quaternion(0.174146, -0.547567, -0.136966, 0.806898)
+bones/158/rotation = Quaternion(0.426148, 0.343988, -0.0670521, 0.834011)
+bones/159/rotation = Quaternion(0.335797, 0.0444063, 0.0566844, 0.939178)
 bones/160/rotation = Quaternion(0.164172, 0.943046, 0.285639, -0.0460757)
 bones/161/rotation = Quaternion(0.486865, 0.338377, -0.223256, 0.773706)
 bones/162/rotation = Quaternion(0.171044, 0.0141859, 0.139636, 0.975215)
 bones/160/rotation = Quaternion(0.164172, 0.943046, 0.285639, -0.0460757)
 bones/161/rotation = Quaternion(0.486865, 0.338377, -0.223256, 0.773706)
 bones/162/rotation = Quaternion(0.171044, 0.0141859, 0.139636, 0.975215)
-bones/164/rotation = Quaternion(0.199401, -0.508651, -0.0755649, 0.834148)
-bones/165/rotation = Quaternion(0.382377, 0.461146, -0.0991079, 0.79455)
-bones/166/rotation = Quaternion(0.213052, 0.0432213, 0.0478591, 0.97491)
-bones/168/rotation = Quaternion(0.353315, -0.459154, -0.04402, 0.813885)
-bones/169/rotation = Quaternion(0.35672, 0.460389, -0.0726338, 0.80964)
-bones/170/rotation = Quaternion(0.310985, 0.0480779, 0.0275879, 0.948797)
-bones/172/rotation = Quaternion(0.504401, -0.350384, 0.044391, 0.787934)
-bones/173/rotation = Quaternion(0.33825, 0.527688, -0.0668189, 0.776317)
-bones/174/rotation = Quaternion(0.238901, 0.0504321, 0.041374, 0.968851)
+bones/164/rotation = Quaternion(0.282545, -0.490665, -0.0759145, 0.820764)
+bones/165/rotation = Quaternion(0.446519, 0.461964, -0.109076, 0.758494)
+bones/166/rotation = Quaternion(0.23514, 0.0490423, 0.0529365, 0.969279)
+bones/168/rotation = Quaternion(0.416946, -0.437669, -0.0415838, 0.795533)
+bones/169/rotation = Quaternion(0.409618, 0.458397, -0.0787684, 0.784781)
+bones/170/rotation = Quaternion(0.328145, 0.0535704, 0.0318937, 0.942568)
+bones/172/rotation = Quaternion(0.537951, -0.331637, 0.0383281, 0.774052)
+bones/173/rotation = Quaternion(0.37, 0.531764, -0.0734693, 0.758241)
+bones/174/rotation = Quaternion(0.249303, 0.0538572, 0.0449234, 0.965883)
 bones/174/scale = Vector3(1, 0.999998, 1)
 bones/174/scale = Vector3(1, 0.999998, 1)
-bones/176/position = Vector3(0.279871, 1.66047, 0.41439)
-bones/176/rotation = Quaternion(-0.0208761, 0.599433, 0.800143, -0.003914)
-bones/177/position = Vector3(-0.284537, 1.64294, 0.397154)
-bones/177/rotation = Quaternion(-0.020969, 0.59957, 0.800038, -0.0039591)
+bones/176/position = Vector3(0.341094, 1.80545, 0.415274)
+bones/176/rotation = Quaternion(-0.00328956, 0.619461, 0.784995, 0.00625214)
+bones/177/position = Vector3(-0.307638, 1.79405, 0.403421)
+bones/177/rotation = Quaternion(-0.0220676, 0.619554, 0.784597, -0.00856027)
index b9965c72b5e0fc4eac9bb4083c5429ffba72f232..f0cf145100c4e5d385d00baeaaafde4f38159005 100644 (file)
Binary files a/texture/untextured2.png and b/texture/untextured2.png differ