From: Clifton Palmer Date: Thu, 24 Apr 2025 11:45:12 +0000 (+0300) Subject: * Added dust clouds X-Git-Url: http://git.purplebirdman.com/baabarian.git/commitdiff_plain/48a972450ae342fd7a4e635b3be6b157432d000d?ds=inline * Added dust clouds * Added floor normal debug vector * Added player idle --- diff --git a/.DS_Store b/.DS_Store index 28e90a9..2b6c807 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/asset/barrel.tscn b/asset/barrel.tscn new file mode 100644 index 0000000..65384fd --- /dev/null +++ b/asset/barrel.tscn @@ -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 index 0000000..cd38892 --- /dev/null +++ b/asset/dust.tscn @@ -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") diff --git a/class/Pinball.gd b/class/Pinball.gd index b836868..c6c841e 100644 --- a/class/Pinball.gd +++ b/class/Pinball.gd @@ -17,5 +17,4 @@ func _process(_delta: float) -> void: if angular_velocity.length() > 0.2: _mesh.scale = _moving_scale else: - rotation = Vector3.ZERO _mesh.scale = Vector3.ONE diff --git a/map/test.tscn b/map/test.tscn index c69ff88..d7e5cd9 100644 --- a/map/test.tscn +++ b/map/test.tscn @@ -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="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"] @@ -26,8 +26,8 @@ glow_enabled = true 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 @@ -58,6 +58,7 @@ offset_bottom = 40.0 script = ExtResource("4_t5fek") [node name="player" parent="." instance=ExtResource("5_51i4e")] +collision_mask = 7 [node name="map" type="Node3D" parent="."] diff --git a/map/test2.tscn b/map/test2.tscn index e9c339a..37a2a6a 100644 --- a/map/test2.tscn +++ b/map/test2.tscn @@ -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"] @@ -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://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) @@ -22,7 +23,7 @@ sky = SubResource("Sky_37kl0") 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="."] @@ -46,7 +47,8 @@ offset_bottom = 40.0 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="."] @@ -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")] -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")] -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")] -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")] -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")] -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")] -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")] -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")] -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")] -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")] -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")] -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")] -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 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 index 0000000..b80b99a --- /dev/null +++ b/model/barrel.glb.import @@ -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 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 index 0000000..e74cfbb --- /dev/null +++ b/model/dust-cloud.glb.import @@ -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 index 0000000..96b6063 Binary files /dev/null and b/model/dust-cloud_Mesh_002.res differ diff --git a/model/ram-barbarian.glb b/model/ram-barbarian.glb index 2535576..4e1e100 100644 Binary files a/model/ram-barbarian.glb and b/model/ram-barbarian.glb differ diff --git a/player/player.gd b/player/player.gd index 7b988f5..84657ec 100644 --- a/player/player.gd +++ b/player/player.gd @@ -15,10 +15,10 @@ class_name Player @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_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 @@ -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 _camera_spring: SpringArm3D = %spring @onready var _skin: AnimatedSkin = %skin +@onready var _dust: GPUParticles3D = %dust 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 _player_speed: float = walk_speed +var _player_speed: float = 0 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, "_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") + + _camera_spring.spring_length = camera_distance + _player_speed = jog_speed + _skin.set_grounded() 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"): - _player_speed = jog_speed - elif event.is_action_released("player_run"): _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 + 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 @@ -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 + + # 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 - 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 + if _idle_time > idle_timeout: + _skin.set_idle() else: _last_movement_direction = move_direction _idle_time = 0.0 + _skin.set_grounded() # 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 ) + + # 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! - if movement_speed >= charge_speed * 0.75: + if _player_speed == charge_speed: _skin.set_timescale(2.0) - - # ignore objects when I'm going fast! - set_collision_mask_value(3, false) else: _skin.set_timescale(1.0) - set_collision_mask_value(3, true) func _process_player(delta: float) -> void: if is_on_floor(): - _skin.set_grounded() _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! - var movement_speed := velocity.length() + var velocity_length := velocity.length() 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() - col.apply_central_impulse(-c.get_normal() * push_force * movement_speed / col.mass) + col.apply_central_impulse(-c.get_normal() * velocity_length * push_force) diff --git a/player/player.tscn b/player/player.tscn index ab2cf13..ee1964b 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -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://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 -collision_mask = 7 +collision_mask = 3 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="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) -[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 +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.122346, 0) diff --git a/player/skin.gd b/player/skin.gd index 608d994..6848cd2 100644 --- a/player/skin.gd +++ b/player/skin.gd @@ -21,5 +21,9 @@ func set_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) diff --git a/player/skin.tscn b/player/skin.tscn index 24f9f42..beca117 100644 --- a/player/skin.tscn +++ b/player/skin.tscn @@ -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"] @@ -36,6 +36,20 @@ min_space = 0.0 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" @@ -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_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"] -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/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/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/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") @@ -81,86 +105,90 @@ root_node = NodePath("%AnimationTree/..") 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"] -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/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/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/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/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/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/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/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/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) @@ -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/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) @@ -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/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) @@ -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/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) @@ -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/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/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/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/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/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/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/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/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) @@ -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/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/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/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/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/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/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/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/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/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/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) diff --git a/texture/untextured2.png b/texture/untextured2.png index b9965c7..f0cf145 100644 Binary files a/texture/untextured2.png and b/texture/untextured2.png differ