From: Clifton Palmer Date: Fri, 29 Nov 2024 16:56:49 +0000 (+0200) Subject: * Added face test animation X-Git-Url: http://git.purplebirdman.com/william-skin.git/commitdiff_plain/c84055968443414e67caa33c3a823094ed29365b?hp=3e74277bb1d2ad3f5ccdc26c690a0f6e37ffcd25 * Added face test animation * Added proper hip rotation * Added TrackingBone3D for 4.X compliant head tracking * Updated external animation libraries * Stupid class TrackingBone3D_head created for special head case, ought to be removed asap --- diff --git a/TrackingBone3D.gd b/TrackingBone3D.gd new file mode 100644 index 0000000..a4ba007 --- /dev/null +++ b/TrackingBone3D.gd @@ -0,0 +1,61 @@ +@tool + +class_name TrackingBone3D +extends SkeletonModifier3D + +enum Axis { + X_plus, Y_plus, Z_plus +} + +@export_enum(" ") var bone: String +@export var aim_axis := Axis.Z_plus +@export var pivot_axis := Axis.Y_plus +@export var target: Vector3 = Vector3(0, 0, 0) + + +func _validate_property(property: Dictionary) -> void: + if property.name == "bone": + var skeleton: Skeleton3D = get_skeleton() + if skeleton: + property.hint = PROPERTY_HINT_ENUM + property.hint_string = skeleton.get_concatenated_bone_names() + + +func _process_modification() -> void: + var skeleton: Skeleton3D = get_skeleton() + if !skeleton: + return # Never happen, but for the safety. + var bone_idx: int = skeleton.find_bone(bone) + var _parent_idx: int = skeleton.get_bone_parent(bone_idx) + var pose: Transform3D = skeleton.global_transform * skeleton.get_bone_global_pose(bone_idx) + + var looked_at: Transform3D = _w_look_at(pose) + #var looked_at: Transform3D = pose.looking_at(target, Vector3.UP) + #var axis: Vector3 = looked_at.basis.y + #looked_at = looked_at.rotated(axis, PI) + + skeleton.set_bone_global_pose( + bone_idx, + Transform3D( + (skeleton.global_transform.affine_inverse() * looked_at).basis.orthonormalized(), + skeleton.get_bone_global_pose(bone_idx).origin + ) + ) + + +func _w_look_at(from: Transform3D) -> Transform3D: + # y look is default + var w: Vector3 = from.basis.x + + if aim_axis == Axis.X_plus: + w = from.basis.z + elif aim_axis == Axis.Z_plus: + w = from.basis.y + + var t_v: Vector3 = target - from.origin + var v_y: Vector3 = t_v.normalized() + var v_z: Vector3 = w.cross(v_y) + v_z = v_z.normalized() + var v_x: Vector3 = v_y.cross(v_z) + from.basis = Basis(v_x, v_y, v_z) + return from diff --git a/TrackingBone3D_head.gd b/TrackingBone3D_head.gd new file mode 100644 index 0000000..04e6938 --- /dev/null +++ b/TrackingBone3D_head.gd @@ -0,0 +1,37 @@ +@tool + +class_name TrackingBone3D_head +extends SkeletonModifier3D + +@export_enum(" ") var bone: String +@export var target: Vector3 = Vector3(0, 0, 0) + + +func _validate_property(property: Dictionary) -> void: + if property.name == "bone": + var skeleton: Skeleton3D = get_skeleton() + if skeleton: + property.hint = PROPERTY_HINT_ENUM + property.hint_string = skeleton.get_concatenated_bone_names() + + +func _process_modification() -> void: + var skeleton: Skeleton3D = get_skeleton() + if !skeleton: + return # Never happen, but for the safety. + var bone_idx: int = skeleton.find_bone(bone) + var _parent_idx: int = skeleton.get_bone_parent(bone_idx) + var pose: Transform3D = skeleton.global_transform * skeleton.get_bone_global_pose(bone_idx) + + #var looked_at: Transform3D = _w_look_at(pose, target) + var looked_at: Transform3D = pose.looking_at(target, Vector3.UP) + var axis: Vector3 = looked_at.basis.y + looked_at = looked_at.rotated(axis, PI) + + skeleton.set_bone_global_pose( + bone_idx, + Transform3D( + (skeleton.global_transform.affine_inverse() * looked_at).basis.orthonormalized(), + skeleton.get_bone_global_pose(bone_idx).origin + ) + ) diff --git a/animation/face.res b/animation/face.res new file mode 100644 index 0000000..908233d Binary files /dev/null and b/animation/face.res differ diff --git a/animation/hips.res b/animation/hips.res new file mode 100644 index 0000000..58b1c80 Binary files /dev/null and b/animation/hips.res differ diff --git a/animation/idle.res b/animation/idle.res index 4a0018f..7397c6e 100644 Binary files a/animation/idle.res and b/animation/idle.res differ diff --git a/animation/move.res b/animation/move.res index 9b3a675..d12cbed 100644 Binary files a/animation/move.res and b/animation/move.res differ diff --git a/model/william.glb b/model/william.glb index 8cc9cc2..42ed896 100644 Binary files a/model/william.glb and b/model/william.glb differ diff --git a/module/godot-jigglebones b/module/godot-jigglebones index dc84d5b..48fedc5 160000 --- a/module/godot-jigglebones +++ b/module/godot-jigglebones @@ -1 +1 @@ -Subproject commit dc84d5b3d2abf200b863c41468d45d634cae47e1 +Subproject commit 48fedc5b33998865983d154f51de574ebc0a0606 diff --git a/player/player.gd b/player/player.gd index 076679a..1ebbf4c 100644 --- a/player/player.gd +++ b/player/player.gd @@ -49,6 +49,7 @@ var _lockon_direction: Vector3 = Vector3.ZERO var _lockon_indicator_scene = load("res://ux/lockon_indicator.tscn") var _lockon_instance: Node3D = _lockon_indicator_scene.instantiate() +var _head_track_target: Node3D = null var _head_track_arr: Array[Node3D] = [] enum {LOCKON_LEFT, LOCKON_CENTER, LOCKON_RIGHT} @@ -75,6 +76,7 @@ func _ready() -> void: _debug.stats.add_property(self, "_idle_time", "round") _debug.stats.add_property(self, "_lockon_shift", "round") _debug.stats.add_property(self, "_head_track_arr", "") + _debug.stats.add_property(self, "_head_track_target", "") func _input(event: InputEvent) -> void: @@ -323,11 +325,28 @@ func _process_player(delta: float) -> void: move_and_slide() +# head tracking +# TODO: choose the closest head track thing to my position +# tell skin to track it +func _pick_head_track_target() -> void: + if _head_track_arr.is_empty(): + _head_track_target = null + _skin.set_head_target(Vector3.ZERO) + _skin.set_eyes_target(Vector3.ZERO) + else: + var target: Node3D = _head_track_arr.front() + _head_track_target = target + _skin.set_head_target(target.global_position) + _skin.set_eyes_target(target.global_position) + + +# if we find a head tracking obj, add it to the array unless it's already there func _on_head_turn_area_entered(area: Area3D) -> void: for node in area.get_parent().get_children().filter(func(c): return c.is_in_group("player-headTrack")): var i = _head_track_arr.find(node) if i < 0: _head_track_arr.append(node) + _pick_head_track_target() func _on_head_turn_area_exited(area: Area3D) -> void: @@ -335,3 +354,4 @@ func _on_head_turn_area_exited(area: Area3D) -> void: var i = _head_track_arr.find(node) if i >= 0: _head_track_arr.remove_at(i) + _pick_head_track_target() diff --git a/player/player.tscn b/player/player.tscn index ebef779..2aa179c 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -27,7 +27,7 @@ shape = SubResource("CapsuleShape3D_2yjd0") [node name="WilliamSkin" parent="." instance=ExtResource("1_sujn1")] unique_name_in_owner = true -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0.027907, 0) +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) [node name="cameraPivot" type="Node3D" parent="."] @@ -47,7 +47,6 @@ shape = SubResource("CylinderShape3D_ntdse") [node name="DebugOverlay" type="CanvasLayer" parent="."] unique_name_in_owner = true -visible = false script = ExtResource("3_lokna") [node name="DebugDraw3D" type="Control" parent="DebugOverlay"] diff --git a/project.godot b/project.godot index 4b2a2dc..61b5495 100644 --- a/project.godot +++ b/project.godot @@ -10,7 +10,7 @@ config_version=5 [application] -config/name="test" +config/name="william-skin" run/main_scene="res://test/test.tscn" config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" diff --git a/test/cube.tscn b/test/cube.tscn index 183e797..8668168 100644 --- a/test/cube.tscn +++ b/test/cube.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=3 format=3 uid="uid://bxitip7rpbna4"] +[gd_scene load_steps=4 format=3 uid="uid://bxitip7rpbna4"] [sub_resource type="BoxMesh" id="BoxMesh_efevn"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_xbgd7"] data = PackedVector3Array(-0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5) +[sub_resource type="CylinderShape3D" id="CylinderShape3D_yxa2b"] +radius = 0.881101 + [node name="Cube" type="Node3D"] [node name="MeshInstance3D" type="MeshInstance3D" parent="."] @@ -16,5 +19,11 @@ mesh = SubResource("BoxMesh_efevn") [node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_xbgd7") -[node name="LockonPoint" type="Node3D" parent="." groups=["player-lockon"]] +[node name="LockonPoint" type="Node3D" parent="." groups=["player-headTrack", "player-lockon"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.572779, 0) + +[node name="Area3D" type="Area3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +shape = SubResource("CylinderShape3D_yxa2b") diff --git a/test/test.tscn b/test/test.tscn index 164bfe9..283ee17 100644 --- a/test/test.tscn +++ b/test/test.tscn @@ -39,7 +39,7 @@ transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, - shadow_enabled = true [node name="player" parent="." instance=ExtResource("1_apkq8")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.200905, 0, 1.53554) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.200905, 0, 9.10948) lockon_sensitivity = 10.0 [node name="map" type="Node3D" parent="."] diff --git a/william.gd b/william.gd index f9fcac5..d0d86be 100644 --- a/william.gd +++ b/william.gd @@ -2,103 +2,78 @@ class_name WilliamSkin extends Node3D -@onready var animation_tree: AnimationTree = $AnimationTree -@onready var skeleton: Skeleton3D = $base/rig/Skeleton3D +@export_category("Tracking") +@export var head_influence: float = 0.5 +@export var eye_influence: float = 1.0 -# get tracking bones from skeleton -var _eye_left_index := -1 -var _eye_right_index := -1 -var _eye_track_target: Vector3 = Vector3.ZERO +@onready var _animation_tree: AnimationTree = $AnimationTree +@onready var _head: TrackingBone3D_head = $base/rig/Skeleton3D/head +@onready var _eye_L: TrackingBone3D = $base/rig/Skeleton3D/eye_L +@onready var _eye_R: TrackingBone3D = $base/rig/Skeleton3D/eye_R -var _head_index := -1 -var _head_track_target: Vector3 = Vector3.ZERO - -func _ready() -> void: - _eye_left_index = skeleton.find_bone("DEF-eye.L") - _eye_right_index = skeleton.find_bone("DEF-eye.R") - _head_index = skeleton.find_bone("DEF-spine.006") - - -func _process(_delta: float) -> void: - if _eye_track_target != Vector3.ZERO: - _process_eyes_tracking() - if _head_track_target != Vector3.ZERO: - _process_head_tracking() - - -# manage eye tracking +# TODO: eye tracking func set_eyes_target(target: Vector3) -> void: - _eye_track_target = target + for eye in [ _eye_L, _eye_R ]: + eye.target = target + eye.active = target != Vector3.ZERO + eye.influence = eye_influence -func _process_eyes_tracking() -> void: - # TODO: this is broken! - for i in [_eye_left_index, _eye_right_index]: - var bone_pose: Transform3D = skeleton.global_transform * skeleton.get_bone_global_pose(i) - bone_pose = bone_pose.looking_at(_eye_track_target) - var axis: Vector3 = bone_pose.basis.x - bone_pose = bone_pose.rotated_local(axis, -PI/2) - #skeleton.set_bone_global_pose_override(i, skeleton.global_transform.affine_inverse() * bone_pose, 1, true) - # ^^^ this sets the bone position relative to its rest position, not after animation! - - -# TODO: manage head tracking +# TODO: head tracking func set_head_target(target: Vector3) -> void: - _head_track_target = target - - -func _process_head_tracking() -> void: - pass + _head.target = target + _head.active = target != Vector3.ZERO + _head.influence = head_influence # manage talking and expressions func talk() -> void: - animation_tree.set("parameters/motion/transition_request", "talk") + _animation_tree.set("parameters/motion/transition_request", "talk") # manage vectored movement func current_state() -> String: - return animation_tree.get("parameters/motion/current_state") + return _animation_tree.get("parameters/motion/current_state") func set_hips_direction(direction: float) -> void: - animation_tree.set("parameters/hips_direction/blend_position", clamp(direction, -PI / 2, PI / 2)) + _animation_tree.set("parameters/hips_direction/blend_position", clamp(direction, -PI / 2, PI / 2)) func get_hips_direction() -> float: - return animation_tree.get("parameters/hips_direction/blend_position") + return _animation_tree.get("parameters/hips_direction/blend_position") func pose() -> void: - animation_tree.set("parameters/motion/transition_request", "pose") + _animation_tree.set("parameters/motion/transition_request", "pose") func idle() -> void: - animation_tree.set("parameters/motion/transition_request", "idle") + _animation_tree.set("parameters/motion/transition_request", "idle") func move_forward() -> void: - animation_tree.set("parameters/motion/transition_request", "forward") + _animation_tree.set("parameters/motion/transition_request", "forward") func move_backward() -> void: - animation_tree.set("parameters/motion/transition_request", "backward") + _animation_tree.set("parameters/motion/transition_request", "backward") func movement_speed(speed: float) -> void: - animation_tree.set("parameters/forward/blend_position", speed) - animation_tree.set("parameters/backward/blend_position", speed) + _animation_tree.set("parameters/forward/blend_position", speed) + _animation_tree.set("parameters/backward/blend_position", speed) func jump() -> void: - animation_tree.set("parameters/motion/transition_request", "fall") + _animation_tree.set("parameters/motion/transition_request", "fall") func fall() -> void: - animation_tree.set("parameters/motion/transition_request", "fall") + _animation_tree.set("parameters/motion/transition_request", "fall") func landing() -> void: - animation_tree.set("parameters/motion/transition_request", "landing") + _animation_tree.set("parameters/motion/transition_request", "landing") diff --git a/william.tscn b/william.tscn index 3abd495..2ec47bd 100644 --- a/william.tscn +++ b/william.tscn @@ -1,61 +1,13 @@ -[gd_scene load_steps=35 format=3 uid="uid://2tvylmtejq0u"] +[gd_scene load_steps=34 format=3 uid="uid://2tvylmtejq0u"] [ext_resource type="PackedScene" uid="uid://cd5n7um55x8ph" path="res://model/william.glb" id="1_adkxn"] [ext_resource type="Script" path="res://william.gd" id="2_0p3og"] [ext_resource type="AnimationLibrary" uid="uid://rsu304v5gdme" path="res://animation/move.res" id="2_64b73"] [ext_resource type="AnimationLibrary" uid="uid://lf126l263jjc" path="res://animation/idle.res" id="3_pbx3f"] -[ext_resource type="Script" path="res://jigglebone_setup.gd" id="3_qnlho"] -[ext_resource type="Script" path="res://jigglebone_config.gd" id="4_luuwg"] - -[sub_resource type="Resource" id="Resource_jmjda"] -script = ExtResource("4_luuwg") -name_pattern = "DEF-hair-front" -stiffness = 1.0 -damping = 1.0 -forward_axis = 5 -use_gravity = false - -[sub_resource type="Resource" id="Resource_66tce"] -script = ExtResource("4_luuwg") -name_pattern = "DEF-hair-back" -stiffness = 1.0 -damping = 1.0 -forward_axis = 5 -use_gravity = false - -[sub_resource type="Resource" id="Resource_gine3"] -script = ExtResource("4_luuwg") -name_pattern = "DEF-penis" -stiffness = 8.0 -damping = 4.0 -forward_axis = 5 -use_gravity = false - -[sub_resource type="Resource" id="Resource_jkreb"] -script = ExtResource("4_luuwg") -name_pattern = "DEF-ass" -stiffness = 1.0 -damping = 1.0 -forward_axis = 5 -use_gravity = false - -[sub_resource type="Resource" id="Resource_ya8lt"] -script = ExtResource("4_luuwg") -name_pattern = "DEF-breast" -stiffness = 1.0 -damping = 1.0 -forward_axis = 5 -use_gravity = false - -[sub_resource type="Resource" id="Resource_ukmmo"] -script = ExtResource("4_luuwg") -name_pattern = "DEF-balls" -stiffness = 1.0 -damping = 1.0 -forward_axis = 5 -use_gravity = false - -[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_4x24d"] +[ext_resource type="AnimationLibrary" uid="uid://i7clqa7yt16v" path="res://animation/face.res" id="5_ted5p"] +[ext_resource type="AnimationLibrary" uid="uid://b5kyg75fbtsis" path="res://animation/hips.res" id="6_jmeds"] +[ext_resource type="Script" path="res://TrackingBone3D_head.gd" id="7_h7lx0"] +[ext_resource type="Script" path="res://TrackingBone3D.gd" id="9_00p5l"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wa16o"] animation = &"move/hardLanding" @@ -75,11 +27,14 @@ animation = &"idle/yelling" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_13bj0"] animation = &"idle/posing" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_iu7io"] +animation = &"face/test-talking" + [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3lsfi"] animation = &"move/falling" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_52txc"] -animation = &"idle/neutral" +animation = &"idle/breathing" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ufwi6"] animation = &"move/jogBackwards" @@ -118,17 +73,25 @@ min_space = 0.0 max_space = 15.0 sync = true +[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_3v5yd"] +filters = ["base/rig/Skeleton3D:DEF-ass.L", "base/rig/Skeleton3D:DEF-ass.R", "base/rig/Skeleton3D:DEF-balls.L", "base/rig/Skeleton3D:DEF-balls.L.001", "base/rig/Skeleton3D:DEF-balls.L.002", "base/rig/Skeleton3D:DEF-balls.R", "base/rig/Skeleton3D:DEF-balls.R.001", "base/rig/Skeleton3D:DEF-balls.R.002", "base/rig/Skeleton3D:DEF-foot.L", "base/rig/Skeleton3D:DEF-foot.R", "base/rig/Skeleton3D:DEF-pelvis.L", "base/rig/Skeleton3D:DEF-pelvis.R", "base/rig/Skeleton3D:DEF-penis", "base/rig/Skeleton3D:DEF-penis.001", "base/rig/Skeleton3D:DEF-penis.002", "base/rig/Skeleton3D:DEF-penis.003", "base/rig/Skeleton3D:DEF-penis.004", "base/rig/Skeleton3D:DEF-shin.L", "base/rig/Skeleton3D:DEF-shin.L.001", "base/rig/Skeleton3D:DEF-shin.R", "base/rig/Skeleton3D:DEF-shin.R.001", "base/rig/Skeleton3D:DEF-thigh.L", "base/rig/Skeleton3D:DEF-thigh.L.001", "base/rig/Skeleton3D:DEF-thigh.R", "base/rig/Skeleton3D:DEF-thigh.R.001", "base/rig/Skeleton3D:DEF-toe.L", "base/rig/Skeleton3D:DEF-toe.R"] + [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3kyni"] -animation = &"move/rotateLegsRight" +animation = &"hips/rotateLegsRight" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ccnk8"] -animation = &"move/rotateLegsLeft" +animation = &"hips/rotateLegsLeft" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4hreh"] +animation = &"hips/rotateLegsCenter" [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_7hdbu"] blend_point_0/node = SubResource("AnimationNodeAnimation_3kyni") blend_point_0/pos = -1.6 blend_point_1/node = SubResource("AnimationNodeAnimation_ccnk8") blend_point_1/pos = 1.6 +blend_point_2/node = SubResource("AnimationNodeAnimation_4hreh") +blend_point_2/pos = 0.0 min_space = -2.0 max_space = 2.0 sync = true @@ -164,6 +127,8 @@ input_6/auto_advance = false input_6/break_loop_at_end = false input_6/reset = true +[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_b26xs"] + [sub_resource type="AnimationNodeTransition" id="AnimationNodeTransition_rgwlt"] xfade_time = 0.5 input_0/name = "talk" @@ -180,9 +145,7 @@ input_2/break_loop_at_end = true input_2/reset = true [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_uygj1"] -graph_offset = Vector2(-26.4056, -142.474) -nodes/Add2/node = SubResource("AnimationNodeAdd2_4x24d") -nodes/Add2/position = Vector2(1360, 10) +graph_offset = Vector2(-363.553, 124.743) nodes/Animation/node = SubResource("AnimationNodeAnimation_3lsfi") nodes/Animation/position = Vector2(-230, -100) "nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_wa16o") @@ -190,450 +153,534 @@ nodes/Animation/position = Vector2(-230, -100) "nodes/Animation 3/node" = SubResource("AnimationNodeAnimation_kmecn") "nodes/Animation 3/position" = Vector2(-230, 360) "nodes/Animation 4/node" = SubResource("AnimationNodeAnimation_8ufbv") -"nodes/Animation 4/position" = Vector2(-180, 760) +"nodes/Animation 4/position" = Vector2(-520, 890) "nodes/Animation 5/node" = SubResource("AnimationNodeAnimation_ry6ix") -"nodes/Animation 5/position" = Vector2(-190, 900) +"nodes/Animation 5/position" = Vector2(-530, 1030) "nodes/Animation 6/node" = SubResource("AnimationNodeAnimation_b851n") -"nodes/Animation 6/position" = Vector2(-180, 1030) +"nodes/Animation 6/position" = Vector2(-520, 1160) "nodes/Animation 7/node" = SubResource("AnimationNodeAnimation_13bj0") "nodes/Animation 7/position" = Vector2(630, 620) +"nodes/Animation 8/node" = SubResource("AnimationNodeAnimation_iu7io") +"nodes/Animation 8/position" = Vector2(-240, 1190) nodes/backward/node = SubResource("AnimationNodeBlendSpace1D_h1uk8") nodes/backward/position = Vector2(-250, 520) nodes/forward/node = SubResource("AnimationNodeBlendSpace1D_4rddd") nodes/forward/position = Vector2(-240, 200) +nodes/hips_add2/node = SubResource("AnimationNodeAdd2_3v5yd") +nodes/hips_add2/position = Vector2(1330, 30) nodes/hips_direction/node = SubResource("AnimationNodeBlendSpace1D_7hdbu") -nodes/hips_direction/position = Vector2(1120, -110) +nodes/hips_direction/position = Vector2(1080, -50) nodes/motion/node = SubResource("AnimationNodeTransition_vbrx5") nodes/motion/position = Vector2(860, 80) nodes/output/position = Vector2(1620, 90) +nodes/talk_add2/node = SubResource("AnimationNodeAdd2_b26xs") +nodes/talk_add2/position = Vector2(20, 890) nodes/talking/node = SubResource("AnimationNodeTransition_rgwlt") -nodes/talking/position = Vector2(80, 790) -node_connections = [&"Add2", 0, &"hips_direction", &"Add2", 1, &"motion", &"motion", 0, &"Animation", &"motion", 1, &"Animation 2", &"motion", 2, &"forward", &"motion", 3, &"Animation 3", &"motion", 4, &"backward", &"motion", 5, &"talking", &"motion", 6, &"Animation 7", &"output", 0, &"Add2", &"talking", 0, &"Animation 4", &"talking", 1, &"Animation 5", &"talking", 2, &"Animation 6"] +nodes/talking/position = Vector2(-260, 920) +node_connections = [&"hips_add2", 0, &"hips_direction", &"hips_add2", 1, &"motion", &"motion", 0, &"Animation", &"motion", 1, &"Animation 2", &"motion", 2, &"forward", &"motion", 3, &"Animation 3", &"motion", 4, &"backward", &"motion", 5, &"talk_add2", &"motion", 6, &"Animation 7", &"output", 0, &"hips_add2", &"talk_add2", 0, &"talking", &"talk_add2", 1, &"Animation 8", &"talking", 0, &"Animation 4", &"talking", 1, &"Animation 5", &"talking", 2, &"Animation 6"] [node name="william" instance=ExtResource("1_adkxn")] script = ExtResource("2_0p3og") +head_influence = 0.35 + +[node name="AnimationTree" type="AnimationTree" parent="." index="0"] +tree_root = SubResource("AnimationNodeBlendTree_uygj1") +anim_player = NodePath("../AnimationPlayerLibrary") +parameters/backward/blend_position = 3.0 +parameters/forward/blend_position = 3.0 +parameters/hips_add2/add_amount = 1.0 +parameters/hips_direction/blend_position = 0.0 +parameters/motion/current_state = "idle" +parameters/motion/transition_request = "" +parameters/motion/current_index = 3 +parameters/talk_add2/add_amount = 1.0 +parameters/talking/current_state = "talk" +parameters/talking/transition_request = "" +parameters/talking/current_index = 0 + +[node name="AnimationPlayerLibrary" type="AnimationPlayer" parent="." index="1"] +libraries = { +"face": ExtResource("5_ted5p"), +"hips": ExtResource("6_jmeds"), +"idle": ExtResource("3_pbx3f"), +"move": ExtResource("2_64b73") +} [node name="Skeleton3D" parent="base/rig" index="0"] -bones/0/position = Vector3(-0.00726051, 0.93335, -0.0931817) -bones/0/rotation = Quaternion(0.145655, 0.0110991, -0.0104969, 0.989218) -bones/1/rotation = Quaternion(-0.0691114, 5.45711e-05, -3.5414e-06, 0.997609) +bones/0/position = Vector3(-0.0241401, 0.952495, -0.106978) +bones/0/rotation = Quaternion(0.0914478, -0.0723527, -0.0300117, 0.992724) +bones/1/rotation = Quaternion(-0.0644763, -6.13824e-09, -1.28759e-08, 0.997919) bones/1/scale = Vector3(1, 1, 1) -bones/2/rotation = Quaternion(-0.0694135, -0.00109839, -0.000209143, 0.997587) +bones/2/rotation = Quaternion(-0.077464, -2.43602e-08, -6.62117e-08, 0.996995) bones/2/scale = Vector3(1, 1, 1) -bones/3/rotation = Quaternion(0.0105205, -0.0029419, -8.67876e-07, 0.99994) +bones/3/rotation = Quaternion(0.00162721, -6.33677e-08, 3.14188e-08, 0.999999) bones/3/scale = Vector3(1, 1, 1) -bones/4/rotation = Quaternion(0.191644, 0.00222683, -0.0222655, 0.981209) +bones/4/rotation = Quaternion(0.284236, -0.00107728, 0.120708, 0.951125) bones/4/scale = Vector3(1, 1, 1) -bones/5/rotation = Quaternion(-0.0948569, 0.00408231, -0.000389001, 0.995483) -bones/6/rotation = Quaternion(-0.0944421, -0.0156398, 0.020131, 0.995204) -bones/8/position = Vector3(-0.0072605, 0.93335, -0.0931817) -bones/8/rotation = Quaternion(-0.087204, -0.735868, -0.401698, 0.538082) -bones/9/position = Vector3(-0.00726051, 0.93335, -0.0931817) -bones/9/rotation = Quaternion(-0.0642147, 0.750508, 0.394261, 0.526473) +bones/5/rotation = Quaternion(-0.0948532, 0.00936985, -0.00089289, 0.995447) +bones/6/rotation = Quaternion(-0.0932967, 0.0172724, -0.0991372, 0.99054) +bones/8/position = Vector3(-0.02414, 0.952495, -0.106978) +bones/8/rotation = Quaternion(-0.107345, -0.794182, -0.38248, 0.459849) +bones/9/position = Vector3(-0.0241401, 0.952495, -0.106978) +bones/9/rotation = Quaternion(-0.101041, 0.728719, 0.32947, 0.591786) bones/9/scale = Vector3(1, 1, 1) -bones/10/position = Vector3(0.0785821, 0.907294, -0.0930498) -bones/10/rotation = Quaternion(-0.785931, 0.00895629, -0.00344661, 0.61824) -bones/11/position = Vector3(-0.0937215, 0.911412, -0.0868191) -bones/11/rotation = Quaternion(-0.78651, 0.00937668, -0.00286332, 0.6175) -bones/12/position = Vector3(0.0171497, 0.862957, 0.034594) -bones/12/rotation = Quaternion(0.999021, -0.00133899, -0.0120883, -0.0425441) -bones/13/rotation = Quaternion(0.0402473, -0.00153167, -0.0232758, 0.998917) -bones/14/rotation = Quaternion(0.0355025, -0.00148078, -0.02543, 0.999045) -bones/15/position = Vector3(-0.0252219, 0.863969, 0.0361262) -bones/15/rotation = Quaternion(0.998997, -0.00182406, -0.0120709, -0.0430844) -bones/16/rotation = Quaternion(0.0422566, -0.00162849, -0.0237588, 0.998823) -bones/17/rotation = Quaternion(0.0369662, -0.00155462, -0.0257316, 0.998984) -bones/18/position = Vector3(-0.00454903, 0.865641, 0.019446) -bones/18/rotation = Quaternion(0.0145784, 0.571609, 0.820397, -8.6369e-05) -bones/19/rotation = Quaternion(-0.288943, -0.000769606, 0.00415793, 0.957337) -bones/20/rotation = Quaternion(-0.137019, -0.000588403, 0.0123128, 0.990492) -bones/21/rotation = Quaternion(-0.0469641, -1.60389e-05, 0.0168648, 0.998754) -bones/22/rotation = Quaternion(-0.00774206, 0.00027604, 0.0156207, 0.999848) -bones/23/position = Vector3(0.0885867, 0.900147, -0.0729825) -bones/23/rotation = Quaternion(0.974143, 0.0152421, -0.0121319, 0.22509) -bones/23/scale = Vector3(1.00348, 0.993125, 1.00348) -bones/24/rotation = Quaternion(-5.46636e-08, -0.00322862, 2.26149e-08, 0.999995) -bones/25/rotation = Quaternion(0.289182, -0.00374124, 0.0203598, 0.957051) -bones/25/scale = Vector3(1.00016, 0.998012, 1.00191) -bones/26/rotation = Quaternion(4.93666e-08, -0.0175815, 2.49084e-09, 0.999845) -bones/27/rotation = Quaternion(-0.535867, -0.0184805, -0.00546855, 0.844083) -bones/27/scale = Vector3(0.996643, 0.997335, 1.00615) -bones/28/rotation = Quaternion(-4.91147e-05, 0.949005, -0.315262, -0.00020587) -bones/28/scale = Vector3(0.999935, 1.00007, 0.999992) -bones/29/position = Vector3(-0.102556, 0.904715, -0.0660706) -bones/29/rotation = Quaternion(0.999231, -0.0352306, -0.0104538, -0.013678) -bones/29/scale = Vector3(1.00388, 0.992358, 1.00388) -bones/30/rotation = Quaternion(-3.98887e-08, 0.0447362, 4.92215e-08, 0.998999) -bones/31/rotation = Quaternion(0.336906, 0.0438431, -0.0116682, 0.940445) -bones/31/scale = Vector3(1.00018, 0.997391, 1.00255) -bones/32/rotation = Quaternion(1.67997e-08, 0.0347884, -1.55035e-08, 0.999395) -bones/33/rotation = Quaternion(-0.506705, 0.0329191, -0.0579968, 0.859536) -bones/33/scale = Vector3(0.996049, 0.996981, 1.00713) -bones/34/rotation = Quaternion(7.00066e-05, 0.925879, -0.37782, 0.000199544) -bones/34/scale = Vector3(0.999939, 1.00007, 0.999991) -bones/35/position = Vector3(0.0196826, 1.89536, 0.0257784) -bones/35/rotation = Quaternion(0.0270321, 0.00249117, -0.00858077, 0.999595) -bones/36/rotation = Quaternion(0.168184, 0.569005, 0.588722, 0.548957) -bones/36/scale = Vector3(0.999998, 1, 0.999998) -bones/37/rotation = Quaternion(-0.241125, 0.0184625, -0.0778931, 0.967187) -bones/37/scale = Vector3(1, 0.999994, 1) -bones/38/rotation = Quaternion(-0.31407, 0.00747924, -0.080729, 0.945932) -bones/38/scale = Vector3(1, 1, 1) -bones/39/rotation = Quaternion(-0.22378, -0.00784402, 0.148634, 0.963208) -bones/39/scale = Vector3(0.999993, 1.00001, 0.999993) -bones/40/rotation = Quaternion(-0.367355, 0.263561, 0.891404, -0.0313913) -bones/40/scale = Vector3(0.999999, 1, 1) +bones/10/position = Vector3(0.0935993, 0.92035, -0.0827007) +bones/10/rotation = Quaternion(-0.763665, -0.0192897, -0.0794302, 0.640417) +bones/11/position = Vector3(-0.147552, 0.938232, -0.11673) +bones/11/rotation = Quaternion(-0.763738, -0.019281, -0.0794327, 0.640331) +bones/12/position = Vector3(-0.0245438, 0.901728, 0.0847831) +bones/12/rotation = Quaternion(0.997455, -0.0172435, 0.0678393, 0.0135423) +bones/13/rotation = Quaternion(0.0130405, -9.79403e-05, -0.0116687, 0.999847) +bones/14/rotation = Quaternion(0.00256098, -1.45351e-06, -0.00176052, 0.999995) +bones/15/position = Vector3(-0.0838028, 0.906105, 0.076463) +bones/15/rotation = Quaternion(0.997455, -0.0172472, 0.0678303, 0.0135964) +bones/16/rotation = Quaternion(0.0130441, -0.000102283, -0.0116674, 0.999847) +bones/17/rotation = Quaternion(0.00146066, -1.78238e-06, -0.00237303, 0.999996) +bones/18/position = Vector3(-0.0510469, 0.903521, 0.0581472) +bones/18/rotation = Quaternion(-0.0223953, 0.630381, 0.773106, 0.0665273) +bones/19/rotation = Quaternion(-0.292066, -0.00684047, 0.0230746, 0.956095) +bones/20/rotation = Quaternion(-0.157709, -0.00232282, 0.0138456, 0.987386) +bones/21/rotation = Quaternion(-0.0727671, -0.000543609, 0.0060834, 0.99733) +bones/22/rotation = Quaternion(-0.0328932, -0.000121362, 0.00344026, 0.999453) +bones/23/position = Vector3(0.102398, 0.915809, -0.0515408) +bones/23/rotation = Quaternion(0.978064, 0.117945, 0.0545176, 0.162809) +bones/23/scale = Vector3(1.00685, 0.986434, 1.00685) +bones/24/rotation = Quaternion(-6.78789e-08, -0.073966, -5.56804e-08, 0.997261) +bones/25/rotation = Quaternion(0.165341, -0.0746736, 0.0123368, 0.983328) +bones/25/scale = Vector3(1.00031, 0.997293, 1.00249) +bones/26/rotation = Quaternion(8.55573e-08, -0.00625028, -9.57228e-09, 0.999981) +bones/27/rotation = Quaternion(-0.472916, -0.00679234, 0.0819472, 0.877262) +bones/27/scale = Vector3(0.993689, 0.998483, 1.00809) +bones/28/rotation = Quaternion(2.505e-05, 0.965918, -0.258849, -0.000225018) +bones/28/scale = Vector3(0.99967, 1.00041, 0.999919) +bones/29/position = Vector3(-0.165173, 0.935628, -0.0893493) +bones/29/rotation = Quaternion(0.995764, 0.0652217, 0.0642719, 0.00838582) +bones/29/scale = Vector3(1.00528, 0.989527, 1.00528) +bones/30/rotation = Quaternion(-7.15313e-08, 0.0400576, -9.66641e-09, 0.999197) +bones/31/rotation = Quaternion(0.141724, 0.0392182, -0.00554554, 0.989114) +bones/31/scale = Vector3(1.00027, 0.998094, 1.00168) +bones/32/rotation = Quaternion(9.83965e-09, 0.010462, 9.35165e-09, 0.999945) +bones/33/rotation = Quaternion(-0.607064, 0.0108167, 0.0710152, 0.791399) +bones/33/scale = Vector3(0.994753, 0.995047, 1.01032) +bones/34/rotation = Quaternion(0.000114935, 0.960117, -0.279598, 0.000186262) +bones/34/scale = Vector3(0.999826, 1.0002, 0.999978) +bones/35/position = Vector3(-0.00478829, 1.71771, -0.0601972) +bones/35/rotation = Quaternion(0.047597, -0.0486006, -0.00706033, 0.997659) +bones/36/rotation = Quaternion(0.168184, 0.569008, 0.588719, 0.548958) +bones/36/scale = Vector3(0.999996, 1.00001, 0.999996) +bones/37/rotation = Quaternion(-0.24113, 0.018465, -0.0778845, 0.967186) +bones/37/scale = Vector3(1, 0.999996, 1) +bones/38/rotation = Quaternion(-0.314065, 0.00747548, -0.080739, 0.945933) +bones/39/rotation = Quaternion(-0.223789, -0.00784304, 0.148644, 0.963204) +bones/39/scale = Vector3(0.999994, 1.00001, 0.999994) +bones/40/rotation = Quaternion(-0.367355, 0.26356, 0.891404, -0.0313908) +bones/40/scale = Vector3(0.999998, 1, 0.999999) bones/41/rotation = Quaternion(0.139165, -0.122498, 0.254064, 0.949252) -bones/41/scale = Vector3(1, 0.999999, 1) -bones/42/rotation = Quaternion(0.168185, -0.569003, -0.588727, 0.548954) -bones/42/scale = Vector3(0.999998, 1, 0.999998) -bones/43/rotation = Quaternion(-0.241123, -0.0184625, 0.0778925, 0.967187) -bones/43/scale = Vector3(1, 0.999998, 1) -bones/44/rotation = Quaternion(-0.314068, -0.00747778, 0.080733, 0.945932) -bones/44/scale = Vector3(1, 1, 1) -bones/45/rotation = Quaternion(-0.223781, 0.00784356, -0.148636, 0.963207) -bones/45/scale = Vector3(0.999993, 1.00001, 0.999993) -bones/46/rotation = Quaternion(0.367355, 0.263561, 0.891404, 0.0313915) -bones/46/scale = Vector3(1, 0.999998, 1) -bones/47/rotation = Quaternion(0.139164, 0.122498, -0.254064, 0.949252) -bones/47/scale = Vector3(1, 1, 1) -bones/50/rotation = Quaternion(0.235823, 0.0209284, 0.288052, 0.927888) -bones/54/rotation = Quaternion(0.235823, -0.0209284, -0.288052, 0.927888) -bones/56/position = Vector3(0.0443385, -0.213733, 0.157378) -bones/56/rotation = Quaternion(-0.542164, -0.1825, -0.14966, 0.806445) -bones/56/scale = Vector3(0.999997, 1.00001, 0.999997) -bones/57/rotation = Quaternion(0.270945, -0.0956788, -0.0183005, 0.957653) -bones/57/scale = Vector3(1, 0.999994, 1) -bones/58/position = Vector3(-0.0443385, -0.213733, 0.157378) +bones/41/scale = Vector3(1, 0.999997, 1) +bones/42/rotation = Quaternion(0.168186, -0.569004, -0.588725, 0.548954) +bones/42/scale = Vector3(0.999999, 1, 0.999999) +bones/43/rotation = Quaternion(-0.241116, -0.0184587, 0.0779053, 0.967188) +bones/43/scale = Vector3(0.999999, 1, 0.999998) +bones/44/rotation = Quaternion(-0.314075, -0.00748114, 0.0807247, 0.94593) +bones/45/rotation = Quaternion(-0.223792, 0.00784366, -0.148643, 0.963203) +bones/45/scale = Vector3(0.999988, 1.00002, 0.999989) +bones/46/rotation = Quaternion(0.367354, 0.263563, 0.891403, 0.0313916) +bones/46/scale = Vector3(1, 0.999994, 1) +bones/47/rotation = Quaternion(0.139162, 0.122499, -0.254062, 0.949253) +bones/47/scale = Vector3(0.999998, 1, 0.999997) +bones/48/rotation = Quaternion(0.291647, -0.362609, 0.0203699, 0.884896) +bones/50/rotation = Quaternion(0.235822, 0.0209278, 0.288052, 0.927888) +bones/50/scale = Vector3(1, 1, 1) +bones/52/rotation = Quaternion(0.291647, 0.362609, -0.0203699, 0.884896) +bones/54/rotation = Quaternion(0.235828, -0.0209298, -0.288052, 0.927887) +bones/54/scale = Vector3(1, 1, 1) +bones/56/position = Vector3(0.0443385, -0.0154335, 0.157378) +bones/56/rotation = Quaternion(-0.542164, -0.1825, -0.149659, 0.806446) +bones/56/scale = Vector3(0.999999, 1, 0.999999) +bones/57/rotation = Quaternion(0.270944, -0.0956789, -0.0183004, 0.957653) +bones/57/scale = Vector3(1, 0.999997, 1) +bones/58/position = Vector3(-0.0443385, -0.0154334, 0.157378) bones/58/rotation = Quaternion(-0.542165, 0.1825, 0.14966, 0.806445) -bones/58/scale = Vector3(1, 1, 1) -bones/59/rotation = Quaternion(0.270946, 0.0956788, 0.0183006, 0.957653) -bones/59/scale = Vector3(1, 0.999995, 1) -bones/60/rotation = Quaternion(0.746153, -0.445831, -0.405328, 0.283194) -bones/60/scale = Vector3(1, 1, 1) -bones/61/rotation = Quaternion(0.535987, 0.0194268, 0.557477, 0.633688) -bones/61/scale = Vector3(1, 1, 1) -bones/62/rotation = Quaternion(0.746154, 0.445831, 0.405328, 0.283194) +bones/58/scale = Vector3(0.999999, 1, 0.999999) +bones/59/rotation = Quaternion(0.270946, 0.0956789, 0.0183004, 0.957653) +bones/59/scale = Vector3(1, 1, 1) +bones/60/rotation = Quaternion(0.746153, -0.445832, -0.405328, 0.283195) +bones/60/scale = Vector3(1, 0.999999, 1) +bones/61/rotation = Quaternion(0.535987, 0.0194276, 0.557475, 0.633689) +bones/61/scale = Vector3(1, 0.999995, 1) +bones/62/rotation = Quaternion(0.746154, 0.44583, 0.405328, 0.283194) bones/62/scale = Vector3(1, 1, 1) -bones/63/rotation = Quaternion(0.535987, -0.0194262, -0.557477, 0.633687) +bones/63/rotation = Quaternion(0.535987, -0.0194254, -0.557478, 0.633687) bones/63/scale = Vector3(0.999999, 1, 0.999999) bones/64/rotation = Quaternion(0.702529, 0.177161, 0.677026, 0.129235) +bones/64/scale = Vector3(1, 1, 1) bones/65/rotation = Quaternion(0.765799, 0.238889, 0.569536, 0.179201) bones/65/scale = Vector3(1, 1, 1) bones/66/rotation = Quaternion(0.917471, 0.15511, 0.329905, 0.159217) bones/66/scale = Vector3(1, 1, 0.999999) bones/67/rotation = Quaternion(0.702529, -0.177161, -0.677026, 0.129235) +bones/67/scale = Vector3(1, 1, 1) bones/68/rotation = Quaternion(0.765799, -0.238889, -0.569536, 0.179201) -bones/68/scale = Vector3(1, 1, 1) +bones/68/scale = Vector3(1, 0.999992, 1) bones/69/rotation = Quaternion(0.917471, -0.15511, -0.329905, 0.159217) bones/69/scale = Vector3(1, 1, 0.999999) bones/70/rotation = Quaternion(0.88889, 2.18449e-07, 4.23856e-07, 0.458121) -bones/70/scale = Vector3(1, 1, 1) -bones/71/rotation = Quaternion(0.125207, -2.0855e-08, 2.67833e-07, 0.992131) -bones/71/scale = Vector3(0.999986, 1.00003, 0.999986) -bones/72/rotation = Quaternion(0.999673, -6.68268e-08, -3.2166e-09, -0.025558) -bones/72/scale = Vector3(1, 0.999995, 1) +bones/71/scale = Vector3(0.999994, 1.00001, 0.999994) +bones/72/rotation = Quaternion(0.999673, -3.95862e-07, -7.64551e-09, -0.025556) +bones/72/scale = Vector3(0.999998, 1, 0.999999) bones/73/rotation = Quaternion(0.999709, 0.0117809, -0.0109535, 0.0179522) bones/73/scale = Vector3(1, 1, 1) bones/74/rotation = Quaternion(0.999709, -0.0117809, 0.0109535, 0.0179522) bones/74/scale = Vector3(1, 1, 1) -bones/76/rotation = Quaternion(0.0046201, -0.321961, -0.800299, 0.505808) -bones/76/scale = Vector3(0.997809, 1.0044, 0.997809) -bones/77/position = Vector3(0.222926, -0.150272, 0.10829) -bones/77/rotation = Quaternion(0.517586, -0.17378, 0.810414, -0.21245) -bones/77/scale = Vector3(1.24523, 0.682221, 1.24523) -bones/78/rotation = Quaternion(-0.657287, 0.100483, -0.0587931, 0.744594) -bones/78/scale = Vector3(0.811906, 0.941228, 1.46585) -bones/79/position = Vector3(0.125182, -0.169916, 0.0390813) -bones/79/rotation = Quaternion(-0.0896242, -0.45469, 0.461935, 0.756201) -bones/79/scale = Vector3(1.19325, 0.712039, 1.19325) -bones/81/rotation = Quaternion(0.0482184, 0.367143, 0.77846, 0.506835) -bones/81/scale = Vector3(0.995768, 1.00852, 0.995767) -bones/82/position = Vector3(-0.217033, -0.139936, 0.126678) -bones/82/rotation = Quaternion(-0.52259, -0.197257, 0.807278, 0.190506) -bones/82/scale = Vector3(1.16436, 0.749931, 1.16436) -bones/83/rotation = Quaternion(-0.572481, -0.106149, 0.0160972, 0.812859) -bones/83/scale = Vector3(0.820189, 1.04581, 1.23479) -bones/84/position = Vector3(-0.120538, -0.169636, 0.0433933) -bones/84/rotation = Quaternion(-0.14009, 0.492929, -0.452027, 0.730115) -bones/84/scale = Vector3(1.1818, 0.725006, 1.1818) +bones/75/rotation = Quaternion(0.00924863, -0.103836, -0.098425, 0.989669) +bones/76/rotation = Quaternion(0.0277876, -0.410259, -0.688417, 0.597492) +bones/76/scale = Vector3(0.99745, 1.00512, 0.997449) +bones/77/position = Vector3(0.227838, 0.104832, 0.124917) +bones/77/rotation = Quaternion(0.519295, -0.115773, 0.828263, -0.175811) +bones/77/scale = Vector3(1.05862, 0.892322, 1.05862) +bones/78/rotation = Quaternion(-0.549957, 0.0819117, -0.0506411, 0.829623) +bones/78/scale = Vector3(0.912735, 1.05492, 1.04793) +bones/79/position = Vector3(0.141418, 0.0405531, 0.0500048) +bones/79/rotation = Quaternion(-0.0939973, -0.401055, 0.60427, 0.682039) +bones/79/scale = Vector3(1.08242, 0.853524, 1.08242) +bones/80/rotation = Quaternion(0.00924863, 0.103836, 0.098425, 0.989669) +bones/81/rotation = Quaternion(0.0280639, 0.411023, 0.68732, 0.598217) +bones/81/scale = Vector3(0.99682, 1.00639, 0.996819) +bones/82/position = Vector3(-0.22792, 0.104656, 0.125574) +bones/82/rotation = Quaternion(-0.51906, -0.113444, 0.828735, 0.175798) +bones/82/scale = Vector3(1.05488, 0.898664, 1.05488) +bones/83/rotation = Quaternion(-0.550041, -0.0811566, 0.0518989, 0.829563) +bones/83/scale = Vector3(0.910487, 1.06759, 1.03706) +bones/84/position = Vector3(-0.140706, 0.0396903, 0.0499119) +bones/84/rotation = Quaternion(-0.0952154, 0.404797, -0.598295, 0.684921) +bones/84/scale = Vector3(1.08521, 0.849138, 1.08521) bones/85/scale = Vector3(1, 1, 1) -bones/86/rotation = Quaternion(0.985575, 1.39697e-07, 9.774e-08, 0.169241) -bones/86/scale = Vector3(1.00001, 0.999975, 1.00001) -bones/87/rotation = Quaternion(0.350695, -3.20757e-07, 2.62163e-07, 0.93649) -bones/87/scale = Vector3(0.999978, 1.00003, 0.999994) -bones/88/position = Vector3(0.02808, -0.166363, 0.182278) -bones/88/rotation = Quaternion(-0.279567, 0.622047, 0.626203, 0.377849) +bones/86/rotation = Quaternion(0.985575, 2.01751e-08, 1.1749e-07, 0.169241) +bones/86/scale = Vector3(1.00003, 0.999946, 1.00003) +bones/87/rotation = Quaternion(0.350701, -5.25337e-07, 8.1125e-07, 0.936488) +bones/87/scale = Vector3(0.999953, 1.00006, 0.999988) +bones/88/position = Vector3(0.02808, 0.0319367, 0.182278) +bones/88/rotation = Quaternion(-0.279566, 0.622048, 0.626202, 0.377849) bones/88/scale = Vector3(1, 1, 1) -bones/89/position = Vector3(-0.02808, -0.166363, 0.182278) -bones/89/rotation = Quaternion(0.279566, 0.622048, 0.626203, -0.377848) +bones/89/position = Vector3(-0.02808, 0.0319367, 0.182278) +bones/89/rotation = Quaternion(0.279565, 0.62205, 0.626201, -0.377849) bones/89/scale = Vector3(1, 1, 1) -bones/90/rotation = Quaternion(3.4368e-10, 0.707107, 0.707107, -3.8072e-10) +bones/90/rotation = Quaternion(-2.49526e-09, 0.707107, 0.707107, 2.04251e-09) bones/90/scale = Vector3(1, 1, 1) -bones/91/rotation = Quaternion(0.716776, 0.587892, 0.374741, 0.0135668) +bones/91/rotation = Quaternion(0.716782, 0.587889, 0.374735, 0.0135559) bones/91/scale = Vector3(1.00001, 0.999985, 1.00001) -bones/92/rotation = Quaternion(0.267558, 0.00387222, 0.0401501, 0.962697) +bones/92/rotation = Quaternion(0.267542, 0.00387742, 0.040129, 0.962703) bones/92/scale = Vector3(0.999986, 1.00002, 0.999991) -bones/93/rotation = Quaternion(0.276032, -0.0101875, -0.0901557, 0.956857) -bones/93/scale = Vector3(0.999998, 1.00001, 0.999993) -bones/94/rotation = Quaternion(0.22816, -0.00138658, -0.0302886, 0.973151) -bones/94/scale = Vector3(1.00002, 0.99996, 1.00002) -bones/95/rotation = Quaternion(-0.519643, 0.726718, 0.266967, -0.361361) -bones/95/scale = Vector3(0.999988, 1.00002, 0.999988) -bones/96/rotation = Quaternion(0.261355, 0.00584695, -0.0691046, 0.962748) -bones/96/scale = Vector3(1.00001, 0.99998, 1.00001) -bones/97/rotation = Quaternion(0.284134, 0.00942512, -0.141976, 0.948168) -bones/97/scale = Vector3(1, 0.999993, 1) -bones/98/rotation = Quaternion(0.241771, 0.0107491, -0.189982, 0.951492) -bones/98/scale = Vector3(0.999977, 1.00005, 0.999978) -bones/99/rotation = Quaternion(1.35598e-08, 0.707106, 0.707108, -1.30948e-08) +bones/93/rotation = Quaternion(0.276036, -0.0101891, -0.090151, 0.956856) +bones/93/scale = Vector3(1, 0.999999, 0.999998) +bones/94/rotation = Quaternion(0.228169, -0.00139076, -0.0302721, 0.97315) +bones/94/scale = Vector3(1.00001, 0.999974, 1.00001) +bones/95/rotation = Quaternion(-0.519655, 0.726708, 0.266974, -0.361357) +bones/95/scale = Vector3(0.999991, 1.00002, 0.999991) +bones/96/rotation = Quaternion(0.261356, 0.00583617, -0.0690654, 0.962751) +bones/96/scale = Vector3(1.00001, 0.999988, 1) +bones/97/rotation = Quaternion(0.284132, 0.00943269, -0.142001, 0.948165) +bones/97/scale = Vector3(1, 0.999995, 1) +bones/98/rotation = Quaternion(0.241776, 0.0107496, -0.189988, 0.95149) +bones/98/scale = Vector3(0.999977, 1.00005, 0.999977) +bones/99/rotation = Quaternion(2.42787e-08, 0.707106, 0.707107, -2.48138e-08) bones/99/scale = Vector3(1, 1, 1) bones/101/scale = Vector3(0.019058, 0.019058, 0.019058) -bones/105/rotation = Quaternion(3.4368e-10, 0.707107, 0.707107, -3.8072e-10) +bones/105/rotation = Quaternion(-2.49526e-09, 0.707107, 0.707107, 2.04251e-09) bones/105/scale = Vector3(1, 1, 1) -bones/106/rotation = Quaternion(0.716779, -0.587889, -0.37474, 0.0135631) -bones/106/scale = Vector3(1.00001, 0.99999, 1.00001) -bones/107/rotation = Quaternion(0.26756, -0.00387811, -0.0401289, 0.962698) -bones/107/scale = Vector3(0.999992, 1.00001, 0.999996) -bones/108/rotation = Quaternion(0.27602, 0.0101894, 0.090145, 0.956861) -bones/108/scale = Vector3(0.999998, 1.00001, 0.999997) -bones/109/rotation = Quaternion(0.228174, 0.00139156, 0.0302693, 0.973149) -bones/109/scale = Vector3(1.00002, 0.999967, 1.00001) -bones/110/rotation = Quaternion(0.519642, 0.726718, 0.266967, 0.361361) -bones/110/scale = Vector3(0.999987, 1.00003, 0.999986) -bones/111/rotation = Quaternion(0.261357, -0.00584603, 0.0691014, 0.962748) -bones/111/scale = Vector3(1.00002, 0.999976, 1.00001) -bones/112/rotation = Quaternion(0.284129, -0.00942064, 0.141959, 0.948172) -bones/112/scale = Vector3(1, 0.999989, 1.00001) -bones/113/rotation = Quaternion(0.241776, -0.0107574, 0.190019, 0.951484) -bones/113/scale = Vector3(0.999966, 1.00007, 0.999968) -bones/114/rotation = Quaternion(-7.46006e-09, 0.707106, 0.707107, 7.47242e-09) +bones/106/rotation = Quaternion(0.716789, -0.587877, -0.374739, 0.0135554) +bones/106/scale = Vector3(1, 0.999997, 1) +bones/107/rotation = Quaternion(0.267558, -0.00388545, -0.0401022, 0.962699) +bones/107/scale = Vector3(0.999995, 1.00001, 0.999996) +bones/108/rotation = Quaternion(0.27603, 0.0101908, 0.0901432, 0.956858) +bones/108/scale = Vector3(0.999988, 1.00003, 0.999985) +bones/109/rotation = Quaternion(0.228166, 0.00139621, 0.0302483, 0.973151) +bones/109/scale = Vector3(1.00004, 0.999936, 1.00003) +bones/110/rotation = Quaternion(0.519644, 0.726716, 0.266969, 0.361361) +bones/110/scale = Vector3(0.999992, 1.00002, 0.999992) +bones/111/rotation = Quaternion(0.261356, -0.00584318, 0.0690907, 0.962749) +bones/111/scale = Vector3(1.00001, 0.99999, 1) +bones/112/rotation = Quaternion(0.284133, -0.00943149, 0.141998, 0.948165) +bones/112/scale = Vector3(1, 0.999996, 1) +bones/113/rotation = Quaternion(0.241772, -0.010747, 0.189975, 0.951494) +bones/113/scale = Vector3(0.999974, 1.00005, 0.999974) +bones/114/rotation = Quaternion(-9.95018e-09, 0.707106, 0.707107, 9.49745e-09) bones/114/scale = Vector3(1, 1, 1) bones/116/scale = Vector3(0.019058, 0.019058, 0.019058) -bones/120/position = Vector3(-1.86259e-10, -0.224927, 0.160554) -bones/120/rotation = Quaternion(-0.707107, 8.80779e-10, -3.70391e-10, 0.707107) +bones/120/position = Vector3(-9.31329e-10, -0.0266268, 0.160554) +bones/120/rotation = Quaternion(-0.707107, -2.3357e-09, -5.24687e-10, 0.707107) bones/120/scale = Vector3(1, 1, 1) -bones/121/position = Vector3(-1.86263e-10, -0.21997, 0.147152) -bones/121/rotation = Quaternion(-0.626055, 3.3033e-08, -7.35155e-09, 0.779779) -bones/122/rotation = Quaternion(-0.185161, 6.11231e-14, -1.7405e-14, 0.982708) -bones/123/rotation = Quaternion(-0.360016, -1.89322e-20, -6.7914e-22, 0.932946) -bones/124/position = Vector3(6.52033e-10, -0.152483, 0.046333) -bones/124/rotation = Quaternion(0.907365, 1.48909e-07, 3.2454e-07, 0.420345) +bones/121/position = Vector3(1.86264e-09, -0.0216696, 0.147152) +bones/121/rotation = Quaternion(-0.626053, 1.53152e-08, -1.00677e-07, 0.779781) +bones/123/rotation = Quaternion(-0.360016, 8.24629e-20, 2.55455e-20, 0.932946) +bones/124/position = Vector3(2.21196e-09, 0.0458171, 0.046333) +bones/124/rotation = Quaternion(0.907365, 1.50718e-07, 3.25344e-07, 0.420345) bones/124/scale = Vector3(1, 1, 1) -bones/125/position = Vector3(-7.45061e-10, -0.26503, 0.179103) -bones/125/rotation = Quaternion(0.229328, -1.36279e-07, 5.6566e-08, 0.973349) -bones/125/scale = Vector3(1, 1, 1) -bones/126/rotation = Quaternion(-0.230473, 3.4326e-07, -4.66564e-08, 0.973079) -bones/126/scale = Vector3(1, 1, 1) -bones/127/position = Vector3(3.72657e-10, -0.261295, 0.0806333) -bones/127/rotation = Quaternion(0.720382, 4.88635e-07, 5.19973e-07, 0.693578) -bones/128/rotation = Quaternion(0.993959, -0.0792359, -0.0118518, 0.0750139) +bones/125/position = Vector3(2.79398e-09, -0.0667297, 0.179103) +bones/125/rotation = Quaternion(0.229328, -1.53554e-07, 1.28874e-07, 0.973349) +bones/125/scale = Vector3(1, 0.999996, 1) +bones/126/rotation = Quaternion(-0.230471, 3.48e-07, -2.74742e-08, 0.973079) +bones/126/scale = Vector3(0.999992, 1.00001, 0.999993) +bones/127/position = Vector3(5.12212e-09, -0.062995, 0.0806333) +bones/127/rotation = Quaternion(0.720382, 4.99064e-07, 5.18854e-07, 0.693578) +bones/128/rotation = Quaternion(0.993959, -0.079236, -0.0118517, 0.0750137) bones/128/scale = Vector3(1, 0.999999, 1) bones/129/rotation = Quaternion(-0.407506, -0.0263002, 0.202202, 0.890147) bones/129/scale = Vector3(1, 1, 1) bones/130/rotation = Quaternion(-0.743149, -0.119128, 0.346344, 0.559986) bones/130/scale = Vector3(1, 0.999999, 1) -bones/131/rotation = Quaternion(0.993959, 0.0792358, 0.0118518, 0.0750138) +bones/131/rotation = Quaternion(0.993959, 0.0792356, 0.0118518, 0.0750135) +bones/131/scale = Vector3(0.999999, 1, 0.999999) bones/132/rotation = Quaternion(-0.407506, 0.0263002, -0.202203, 0.890147) +bones/132/scale = Vector3(1, 1, 0.999999) bones/133/rotation = Quaternion(-0.743149, 0.119128, -0.346344, 0.559986) bones/133/scale = Vector3(1, 1, 1) -bones/134/rotation = Quaternion(-0.607268, -0.344889, -0.34671, 0.626154) +bones/134/rotation = Quaternion(-0.607273, -0.344885, -0.34671, 0.626151) bones/134/scale = Vector3(1, 1, 1) -bones/135/rotation = Quaternion(-0.124975, -0.0514627, 0.270356, 0.953226) -bones/135/scale = Vector3(0.999996, 1.00001, 0.999996) -bones/136/rotation = Quaternion(-0.607268, 0.34489, 0.34671, 0.626154) +bones/135/rotation = Quaternion(-0.124955, -0.0514582, 0.27035, 0.953231) +bones/135/scale = Vector3(0.999999, 1, 0.999999) +bones/136/rotation = Quaternion(-0.607272, 0.344887, 0.34671, 0.626152) bones/136/scale = Vector3(1, 1, 1) -bones/137/rotation = Quaternion(-0.124974, 0.0514625, -0.270356, 0.953227) -bones/137/scale = Vector3(0.999997, 1.00001, 0.999997) -bones/138/position = Vector3(-1.96829e-08, -0.21993, 0.199498) -bones/138/rotation = Quaternion(-0.562419, -0.349748, -0.375747, 0.648209) -bones/138/scale = Vector3(0.999999, 1, 0.999999) -bones/139/rotation = Quaternion(-0.0153801, 0.0395372, 0.239386, 0.969997) -bones/139/scale = Vector3(1, 0.999996, 1) -bones/140/position = Vector3(-7.17203e-09, -0.21993, 0.199498) -bones/140/rotation = Quaternion(-0.56242, 0.349748, 0.375748, 0.648208) -bones/140/scale = Vector3(1, 1, 0.999999) -bones/141/rotation = Quaternion(-0.015369, -0.0395401, -0.239388, 0.969997) -bones/141/scale = Vector3(1, 0.999997, 1) -bones/142/position = Vector3(0.0195775, 1.90605, -0.0282384) -bones/142/rotation = Quaternion(0.897988, -0.00884009, 0.00129948, -0.439929) +bones/137/rotation = Quaternion(-0.124969, 0.0514606, -0.27036, 0.953226) +bones/137/scale = Vector3(0.999999, 1, 0.999999) +bones/138/position = Vector3(-1.34296e-09, -0.0216297, 0.199498) +bones/138/rotation = Quaternion(-0.56242, -0.349748, -0.375749, 0.648207) +bones/138/scale = Vector3(1, 0.999999, 1) +bones/139/rotation = Quaternion(-0.0153728, 0.0395392, 0.239404, 0.969993) +bones/139/scale = Vector3(0.999999, 1, 0.999999) +bones/140/position = Vector3(9.43965e-09, -0.0216297, 0.199498) +bones/140/rotation = Quaternion(-0.56242, 0.349748, 0.375749, 0.648207) +bones/140/scale = Vector3(1, 1, 1) +bones/141/rotation = Quaternion(-0.0153734, -0.039539, -0.239404, 0.969993) +bones/141/scale = Vector3(1, 1, 1) +bones/142/position = Vector3(0.00246019, 1.92793, -0.0948062) +bones/142/rotation = Quaternion(0.887682, 0.013772, 0.0471402, -0.45783) bones/142/scale = Vector3(1, 1, 1) -bones/144/rotation = Quaternion(-0.0883884, -0.000226317, 0.00472359, 0.996075) -bones/145/rotation = Quaternion(-0.0907778, -1.85983e-05, 0.00613799, 0.995852) -bones/146/rotation = Quaternion(-0.0973989, 0.000676839, 0.0046082, 0.995235) -bones/147/position = Vector3(0.0737678, 1.90212, 0.0252539) -bones/147/rotation = Quaternion(0.895711, 0.385704, -0.0702862, -0.209748) +bones/144/rotation = Quaternion(-0.0957592, -0.000269437, -0.00279016, 0.995401) +bones/145/rotation = Quaternion(-0.0973433, -0.000219427, -0.00235778, 0.995248) +bones/146/rotation = Quaternion(-0.0981254, -0.000153067, -0.00159432, 0.995173) +bones/147/position = Vector3(0.051224, 1.92177, -0.0358748) +bones/147/rotation = Quaternion(0.893695, 0.397357, -0.0164774, -0.207715) bones/147/scale = Vector3(1, 1, 1) bones/148/rotation = Quaternion(-0.113035, 0.0734297, 0.249068, 0.95906) -bones/149/rotation = Quaternion(-0.047761, 0.00522345, 0.0791341, 0.995705) -bones/150/rotation = Quaternion(-0.0514809, 0.00561377, 0.092552, 0.99436) +bones/149/rotation = Quaternion(-0.0573577, 0.00506284, 0.0739983, 0.995595) +bones/150/rotation = Quaternion(-0.0608202, 0.00495867, 0.086592, 0.994373) bones/150/scale = Vector3(1, 1, 1) -bones/151/rotation = Quaternion(-0.0130105, 0.00605717, 0.145135, 0.989308) -bones/152/position = Vector3(0.0340477, 1.90343, 0.0777037) -bones/152/rotation = Quaternion(0.395971, 0.481415, 0.727106, -0.287688) +bones/151/rotation = Quaternion(-0.0151531, 0.00523686, 0.142202, 0.989708) +bones/152/position = Vector3(0.00620212, 1.92117, 0.0123073) +bones/152/rotation = Quaternion(0.352243, 0.480796, 0.755999, -0.270602) bones/152/scale = Vector3(1, 1, 1) bones/153/rotation = Quaternion(-0.240693, -0.000989651, 0.0015089, 0.9706) -bones/154/rotation = Quaternion(-0.222219, -0.00333997, 0.00300223, 0.974986) -bones/155/position = Vector3(0.020054, 1.90341, 0.0825164) -bones/155/rotation = Quaternion(0.00698865, 0.555112, 0.831728, 0.00556737) -bones/156/rotation = Quaternion(-0.124982, -7.35118e-05, 0.000108939, 0.992159) -bones/157/rotation = Quaternion(-0.161035, 2.84659e-05, 0.00112521, 0.986948) -bones/157/scale = Vector3(1, 1, 1) -bones/158/position = Vector3(-0.00279827, 1.90468, 0.0671988) -bones/158/rotation = Quaternion(0.558747, -0.404505, -0.57515, -0.439749) +bones/154/rotation = Quaternion(-0.220032, -0.0041496, -0.00102188, 0.975483) +bones/155/position = Vector3(-0.0082834, 1.92099, 0.0156671) +bones/155/rotation = Quaternion(-0.0356031, 0.537204, 0.842021, 0.0338272) +bones/156/rotation = Quaternion(-0.148662, -0.000303857, -0.00175471, 0.988887) +bones/157/rotation = Quaternion(-0.142633, 8.56512e-05, 0.000533523, 0.989776) +bones/158/position = Vector3(-0.0295708, 1.92287, -0.00193774) +bones/158/rotation = Quaternion(0.578551, -0.369695, -0.553813, -0.471057) bones/158/scale = Vector3(1, 1, 1) -bones/159/rotation = Quaternion(-0.256007, 0.00053359, -0.000562599, 0.966675) +bones/159/rotation = Quaternion(-0.261667, 0.000112942, -0.00217403, 0.965156) bones/159/scale = Vector3(1, 1, 1) -bones/160/rotation = Quaternion(-0.192203, 0.00123702, -0.000422147, 0.981354) -bones/161/position = Vector3(-0.0340869, 1.90406, 0.0258236) -bones/161/rotation = Quaternion(0.889386, -0.40203, 0.0689684, -0.206419) +bones/160/rotation = Quaternion(-0.187679, 0.00165733, 0.00168006, 0.982228) +bones/161/position = Vector3(-0.056807, 1.92383, -0.046259) +bones/161/rotation = Quaternion(0.880361, -0.392161, 0.106349, -0.24467) bones/161/scale = Vector3(1, 1, 1) bones/162/rotation = Quaternion(-0.113035, -0.0734297, -0.249068, 0.95906) -bones/163/rotation = Quaternion(-0.0508581, -0.00513011, -0.071812, 0.996108) -bones/164/rotation = Quaternion(-0.0558348, -0.00570353, -0.0844065, 0.99485) +bones/163/rotation = Quaternion(-0.0557919, -0.00457415, -0.0784686, 0.995344) +bones/164/rotation = Quaternion(-0.0595974, -0.00532375, -0.0918597, 0.993973) bones/164/scale = Vector3(1, 1, 1) -bones/165/rotation = Quaternion(-0.0154487, -0.00470359, -0.108848, 0.993927) -bones/166/position = Vector3(0.0242757, 1.52212, -4.58583e-06) -bones/166/rotation = Quaternion(-0.576403, -0.348844, -0.481709, 0.560378) -bones/167/position = Vector3(0.23863, 1.47631, -0.0764914) -bones/167/rotation = Quaternion(-0.173168, -0.0575309, 0.969931, -0.161048) -bones/167/scale = Vector3(0.989005, 1.02238, 0.989005) -bones/168/rotation = Quaternion(-5.55217e-09, 0.0358523, -1.35986e-07, 0.999357) -bones/168/scale = Vector3(1, 1, 1) -bones/169/rotation = Quaternion(0.263763, 0.036135, -0.00545173, 0.963895) -bones/169/scale = Vector3(0.998811, 1.01079, 0.990913) -bones/170/rotation = Quaternion(-3.06412e-07, 0.0454514, -1.64956e-07, 0.998967) -bones/171/rotation = Quaternion(-0.125313, 0.0523827, -0.205542, 0.969178) -bones/171/scale = Vector3(1.00587, 0.985229, 1.00969) -bones/172/position = Vector3(-0.0197299, 0.120467, 0.0346735) -bones/172/rotation = Quaternion(0.181645, 0.394577, -0.110454, 0.893932) -bones/173/rotation = Quaternion(0.249755, -0.0554403, -0.0835677, 0.963102) -bones/174/rotation = Quaternion(0.0659494, -0.020593, -0.0669555, 0.995361) -bones/175/rotation = Quaternion(0.0872072, 0.871231, 0.287301, 0.388342) -bones/176/rotation = Quaternion(0.129458, 0.0622703, -0.0632918, 0.987602) +bones/165/rotation = Quaternion(-0.0150107, -0.00409851, -0.11455, 0.993296) +bones/166/position = Vector3(0.03291, 1.54871, -0.0676742) +bones/166/rotation = Quaternion(-0.526164, -0.537294, -0.461092, 0.471021) +bones/167/position = Vector3(0.266244, 1.53564, -0.0681466) +bones/167/rotation = Quaternion(-0.23952, -0.13388, 0.939985, -0.202814) +bones/167/scale = Vector3(1.00099, 0.998025, 1.00099) +bones/168/rotation = Quaternion(4.50227e-08, 0.0283576, 1.24321e-08, 0.999598) +bones/168/scale = Vector3(0.999999, 1, 1) +bones/169/rotation = Quaternion(0.391922, 0.0284156, -0.012112, 0.91948) +bones/169/scale = Vector3(1.00004, 0.998339, 1.00163) +bones/170/rotation = Quaternion(1.2952e-07, 0.0308665, 1.03959e-07, 0.999524) +bones/171/rotation = Quaternion(0.00469125, 0.0361762, -0.0498314, 0.998091) +bones/171/scale = Vector3(0.999006, 1.00202, 0.998977) +bones/172/position = Vector3(-0.0197298, 0.120467, 0.0346734) +bones/172/rotation = Quaternion(0.0718441, 0.386481, 0.0423991, 0.918517) +bones/173/rotation = Quaternion(0.112742, -6.40415e-05, 0.000564981, 0.993624) +bones/174/rotation = Quaternion(-0.0243421, 1.53655e-06, -0.00107798, 0.999703) +bones/175/rotation = Quaternion(0.17073, 0.850092, 0.347046, 0.357428) +bones/176/rotation = Quaternion(0.0314431, -6.59155e-05, 0.00209581, 0.999503) bones/176/scale = Vector3(1, 1, 1) -bones/177/rotation = Quaternion(-0.0108742, 0.102886, -0.0527458, 0.993234) +bones/177/rotation = Quaternion(0.0521303, 8.57115e-06, -0.00435438, 0.998631) bones/178/rotation = Quaternion(0.0706864, 0.570289, 0.0774011, 0.814729) bones/178/scale = Vector3(1, 1, 1) -bones/179/position = Vector3(-0.00738886, 0.131406, 0.00407596) -bones/179/rotation = Quaternion(0.153673, 0.401422, -0.268455, 0.862077) +bones/179/position = Vector3(-0.0073889, 0.131406, 0.00407599) +bones/179/rotation = Quaternion(0.0214791, 0.420277, -0.0560823, 0.905407) bones/179/scale = Vector3(1, 1, 1) -bones/180/rotation = Quaternion(0.159275, -0.0288521, -0.048611, 0.985615) +bones/180/rotation = Quaternion(0.061603, -0.000469828, 0.0076087, 0.998072) bones/180/scale = Vector3(1, 1, 1) -bones/181/rotation = Quaternion(0.114632, -0.0147862, -0.0808493, 0.990002) -bones/182/rotation = Quaternion(0.0175236, 0.576541, 0.0027414, 0.816876) +bones/181/rotation = Quaternion(0.00952832, 1.17221e-05, -0.0164548, 0.999819) +bones/182/rotation = Quaternion(0.0175236, 0.576541, 0.00274141, 0.816876) bones/182/scale = Vector3(1, 1, 1) -bones/183/position = Vector3(0.00557852, 0.125891, -0.0231761) -bones/183/rotation = Quaternion(0.144969, 0.430932, -0.324425, 0.829476) -bones/184/rotation = Quaternion(0.204427, -0.0230414, -0.0705288, 0.976066) +bones/183/position = Vector3(0.00557842, 0.125892, -0.0231762) +bones/183/rotation = Quaternion(-0.0129703, 0.470965, -0.101212, 0.876231) +bones/184/rotation = Quaternion(0.0754094, 0.000904019, -0.011953, 0.997081) bones/184/scale = Vector3(1, 1, 1) -bones/185/rotation = Quaternion(0.125195, -0.014882, -0.0424136, 0.991113) +bones/185/rotation = Quaternion(-0.00934171, -1.60021e-05, 0.0222705, 0.999708) bones/185/scale = Vector3(1, 1, 1) bones/186/rotation = Quaternion(-0.036864, 0.530677, -0.0590597, 0.84471) bones/186/scale = Vector3(1, 1, 1) -bones/187/position = Vector3(0.0221778, 0.109413, -0.0432364) -bones/187/rotation = Quaternion(0.230608, 0.551487, -0.342214, 0.724963) +bones/187/position = Vector3(0.0221777, 0.109413, -0.0432364) +bones/187/rotation = Quaternion(0.00860063, 0.622327, -0.127519, 0.772253) bones/187/scale = Vector3(1, 1, 1) -bones/188/rotation = Quaternion(0.251346, -0.0171872, 0.00313161, 0.96774) +bones/188/rotation = Quaternion(0.120863, 0.000593449, -0.00487831, 0.992657) bones/188/scale = Vector3(1, 1, 1) -bones/189/rotation = Quaternion(0.0803635, -0.00841707, 0.00192235, 0.996728) +bones/189/rotation = Quaternion(-0.0363518, -7.20591e-06, 0.00959009, 0.999293) bones/190/rotation = Quaternion(-0.0699756, 0.498239, -0.128393, 0.854621) -bones/191/position = Vector3(-0.0120523, 1.52261, 0.000681829) -bones/191/rotation = Quaternion(-0.523487, 0.410976, 0.479289, 0.572138) -bones/192/position = Vector3(-0.23892, 1.50357, -0.0517104) -bones/192/rotation = Quaternion(0.248307, 0.0834149, 0.938064, 0.226762) -bones/192/scale = Vector3(0.989009, 1.02237, 0.989009) -bones/193/rotation = Quaternion(7.39818e-09, -0.0480052, 3.903e-08, 0.998847) +bones/191/position = Vector3(-0.00324764, 1.55136, -0.072775) +bones/191/rotation = Quaternion(-0.680737, 0.425888, 0.410319, 0.432267) +bones/192/position = Vector3(-0.216796, 1.47266, -0.12575) +bones/192/rotation = Quaternion(0.103736, -0.11452, 0.98185, 0.109978) +bones/192/scale = Vector3(0.999548, 1.0009, 0.999548) +bones/193/rotation = Quaternion(5.86497e-09, 0.00861484, 2.17855e-08, 0.999963) bones/193/scale = Vector3(1, 1, 1) -bones/194/rotation = Quaternion(0.306847, -0.0488735, -0.023381, 0.950216) -bones/194/scale = Vector3(0.998403, 1.01458, 0.987765) -bones/195/rotation = Quaternion(-1.90664e-07, -0.0349757, 1.54048e-07, 0.999388) -bones/196/rotation = Quaternion(-0.0588817, -0.0401063, 0.0815225, 0.994122) -bones/196/scale = Vector3(1.01125, 0.977397, 1.0119) -bones/197/position = Vector3(0.0197299, 0.120467, 0.0346734) -bones/197/rotation = Quaternion(0.14832, -0.39085, 0.0602237, 0.906427) -bones/198/rotation = Quaternion(0.305872, 0.0549738, 0.125321, 0.942186) -bones/199/rotation = Quaternion(0.0460934, 0.0179776, 0.0500666, 0.99752) -bones/200/position = Vector3(0.00332133, 0.0344233, 0.0338642) -bones/200/rotation = Quaternion(-0.156961, 0.895714, 0.213707, -0.356916) -bones/201/rotation = Quaternion(0.081807, -0.0835247, 0.0743999, 0.990351) +bones/194/rotation = Quaternion(0.324749, 0.00820945, -0.0028195, 0.94576) +bones/194/scale = Vector3(0.999985, 1.00026, 0.999752) +bones/195/rotation = Quaternion(4.05172e-08, 0.0181185, -3.2722e-08, 0.999836) +bones/196/rotation = Quaternion(-0.08072, 0.0126637, 0.0960996, 0.992013) +bones/196/scale = Vector3(1.00043, 0.999121, 1.00044) +bones/197/position = Vector3(0.0197299, 0.120467, 0.0346735) +bones/197/rotation = Quaternion(0.0718441, -0.386481, -0.0423991, 0.918517) +bones/198/rotation = Quaternion(0.112742, 6.40372e-05, -0.000564644, 0.993624) +bones/199/rotation = Quaternion(-0.0243417, -1.56118e-06, 0.00107757, 0.999703) +bones/200/position = Vector3(0.00332131, 0.0344232, 0.0338642) +bones/200/rotation = Quaternion(-0.17073, 0.850091, 0.347047, -0.357428) +bones/201/rotation = Quaternion(0.0314437, 6.59298e-05, -0.00209524, 0.999503) bones/201/scale = Vector3(1, 1, 1) -bones/202/rotation = Quaternion(-0.0398645, 0.0135465, 0.0752491, 0.996276) +bones/202/rotation = Quaternion(0.0521297, -8.55238e-06, 0.00435397, 0.998631) bones/203/rotation = Quaternion(0.0706864, -0.570289, -0.0774011, 0.814729) bones/203/scale = Vector3(1, 1, 1) -bones/204/position = Vector3(0.00738885, 0.131406, 0.00407594) -bones/204/rotation = Quaternion(0.0842626, -0.410503, 0.177026, 0.890533) +bones/204/position = Vector3(0.00738889, 0.131406, 0.00407595) +bones/204/rotation = Quaternion(0.021479, -0.420277, 0.0560823, 0.905407) bones/204/scale = Vector3(1, 1, 1) -bones/205/rotation = Quaternion(0.301556, 0.0296113, 0.13604, 0.943229) +bones/205/rotation = Quaternion(0.0616029, 0.000469835, -0.00760857, 0.998072) bones/205/scale = Vector3(1, 1, 1) -bones/206/rotation = Quaternion(0.125563, 0.0147204, 0.0895856, 0.987923) -bones/207/rotation = Quaternion(0.0175236, -0.576541, -0.0027414, 0.816876) +bones/206/rotation = Quaternion(0.00952826, -1.17536e-05, 0.0164548, 0.999819) +bones/207/rotation = Quaternion(0.0175236, -0.576541, -0.00274135, 0.816876) bones/207/scale = Vector3(1, 1, 1) -bones/208/position = Vector3(-0.00557855, 0.125891, -0.0231762) -bones/208/rotation = Quaternion(0.0970739, -0.443396, 0.258589, 0.852707) -bones/209/rotation = Quaternion(0.365095, 0.0281316, 0.144587, 0.919244) +bones/208/position = Vector3(-0.0055785, 0.125891, -0.0231761) +bones/208/rotation = Quaternion(-0.0129704, -0.470965, 0.101212, 0.876231) +bones/209/rotation = Quaternion(0.0754091, -0.000904026, 0.011953, 0.997081) bones/209/scale = Vector3(1, 1, 1) -bones/210/rotation = Quaternion(0.134733, 0.0175807, 0.0440077, 0.989748) +bones/210/rotation = Quaternion(-0.00934119, 1.6024e-05, -0.0222707, 0.999708) bones/210/scale = Vector3(1, 1, 1) bones/211/rotation = Quaternion(-0.036864, -0.530677, 0.0590597, 0.84471) bones/211/scale = Vector3(1, 1, 1) bones/212/position = Vector3(-0.0221778, 0.109413, -0.0432364) -bones/212/rotation = Quaternion(0.189435, -0.568664, 0.299922, 0.742148) +bones/212/rotation = Quaternion(0.00860056, -0.622327, 0.127518, 0.772253) bones/212/scale = Vector3(1, 1, 1) -bones/213/rotation = Quaternion(0.337041, 0.0261428, 0.010907, 0.941064) +bones/213/rotation = Quaternion(0.120863, -0.000593412, 0.00487826, 0.992657) bones/213/scale = Vector3(1, 1, 1) -bones/214/rotation = Quaternion(0.0923783, 0.00751497, -0.00356127, 0.995689) +bones/214/rotation = Quaternion(-0.0363513, 7.21743e-06, -0.00959023, 0.999293) bones/215/rotation = Quaternion(-0.0699756, -0.498239, 0.128393, 0.854621) -bones/216/position = Vector3(0.12135, 1.37667, 0.034729) -bones/216/rotation = Quaternion(0.0275261, 0.548689, 0.83551, -0.0102973) +bones/216/position = Vector3(0.11382, 1.40445, 0.00217154) +bones/216/rotation = Quaternion(-0.021384, 0.681215, 0.728363, 0.0705428) bones/216/scale = Vector3(1, 1, 1) -bones/217/position = Vector3(-0.113678, 1.37989, 0.0392264) -bones/217/rotation = Quaternion(0.0259083, 0.559406, 0.828428, -0.0100339) +bones/217/position = Vector3(-0.120034, 1.4217, -0.0306597) +bones/217/rotation = Quaternion(-0.0218616, 0.680596, 0.728904, 0.0707838) bones/217/scale = Vector3(1, 1, 1) -bones/218/position = Vector3(0.174682, 1.36661, -0.135221) -bones/218/rotation = Quaternion(-0.679536, 0.0370191, 0.020005, 0.732435) -bones/219/position = Vector3(-0.175484, 1.37247, -0.119305) -bones/219/rotation = Quaternion(-0.676215, 0.105082, 0.071876, 0.725621) -script = ExtResource("3_qnlho") -jigglebone_configs = Array[ExtResource("4_luuwg")]([SubResource("Resource_jmjda"), SubResource("Resource_66tce"), SubResource("Resource_gine3"), SubResource("Resource_jkreb"), SubResource("Resource_ya8lt"), SubResource("Resource_ukmmo")]) - -[node name="horns" parent="base/rig/Skeleton3D" index="0"] -transform = Transform3D(0.999728, 0.0232468, 0.00203966, -0.0231397, 0.998837, -0.0422997, -0.00302059, 0.0422415, 0.999103, -0.0262462, -0.0660949, -0.02125) - -[node name="iris_001" parent="base/rig/Skeleton3D" index="1"] -transform = Transform3D(-0.019055, -0.000329499, 8.60736e-05, 0.000324365, -0.0190273, -0.00103079, 0.000103757, -0.00102916, 0.0190299, 0.0632821, 1.76684, 0.122178) - -[node name="eye_001" parent="base/rig/Skeleton3D" index="2"] -transform = Transform3D(-0.019055, -0.000329499, 8.60736e-05, 0.000324365, -0.0190273, -0.00103079, 0.000103757, -0.00102916, 0.0190299, 0.0632821, 1.76684, 0.122178) - -[node name="black_001" parent="base/rig/Skeleton3D" index="3"] -transform = Transform3D(-0.019055, -0.000329499, 8.60736e-05, 0.000324365, -0.0190273, -0.00103079, 0.000103757, -0.00102916, 0.0190299, 0.0632821, 1.76684, 0.122178) - -[node name="iris_001_2" parent="base/rig/Skeleton3D" index="4"] -transform = Transform3D(-0.019055, -0.000329499, 8.60727e-05, 0.000324365, -0.0190273, -0.00103078, 0.000103756, -0.00102915, 0.0190299, -0.0272135, 1.76838, 0.122671) - -[node name="eye_001_2" parent="base/rig/Skeleton3D" index="5"] -transform = Transform3D(-0.019055, -0.000329499, 8.60727e-05, 0.000324365, -0.0190273, -0.00103078, 0.000103756, -0.00102915, 0.0190299, -0.0272135, 1.76838, 0.122671) - -[node name="black_001_2" parent="base/rig/Skeleton3D" index="6"] -transform = Transform3D(-0.019055, -0.000329499, 8.60727e-05, 0.000324365, -0.0190273, -0.00103078, 0.000103756, -0.00102915, 0.0190299, -0.0272135, 1.76838, 0.122671) - -[node name="AnimationPlayerLibrary" type="AnimationPlayer" parent="." index="2"] -libraries = { -"idle": ExtResource("3_pbx3f"), -"move": ExtResource("2_64b73") -} - -[node name="AnimationTree" type="AnimationTree" parent="." index="3"] -tree_root = SubResource("AnimationNodeBlendTree_uygj1") -anim_player = NodePath("../AnimationPlayerLibrary") -parameters/Add2/add_amount = 1.0 -parameters/backward/blend_position = 3.0 -parameters/forward/blend_position = 3.0 -parameters/hips_direction/blend_position = 0.0 -parameters/motion/current_state = "forward" -parameters/motion/transition_request = "" -parameters/motion/current_index = 2 -parameters/talking/current_state = "talk2" -parameters/talking/transition_request = "" -parameters/talking/current_index = 1 +bones/218/position = Vector3(0.190486, 1.36996, -0.13819) +bones/218/rotation = Quaternion(-0.728691, -0.0205945, -0.0755744, 0.680349) +bones/219/position = Vector3(-0.159617, 1.39576, -0.187177) +bones/219/rotation = Quaternion(-0.728691, -0.0205945, -0.0755744, 0.680349) + +[node name="head" type="SkeletonModifier3D" parent="base/rig/Skeleton3D" index="0"] +_import_path = NodePath("") +unique_name_in_owner = false +process_mode = 0 +process_priority = 0 +process_physics_priority = 0 +process_thread_group = 0 +physics_interpolation_mode = 0 +auto_translate_mode = 0 +editor_description = "" +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +rotation_edit_mode = 0 +rotation_order = 2 +top_level = false +visible = true +visibility_parent = NodePath("") +active = false +influence = 1.0 +script = ExtResource("7_h7lx0") +bone = "ORG-face" +target = Vector3(0, 1, 2) + +[node name="eye_L" type="SkeletonModifier3D" parent="base/rig/Skeleton3D" index="1"] +_import_path = NodePath("") +unique_name_in_owner = false +process_mode = 0 +process_priority = 0 +process_physics_priority = 0 +process_thread_group = 0 +physics_interpolation_mode = 0 +auto_translate_mode = 0 +editor_description = "" +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +rotation_edit_mode = 0 +rotation_order = 2 +top_level = false +visible = true +visibility_parent = NodePath("") +active = false +influence = 1.0 +script = ExtResource("9_00p5l") +bone = "DEF-eye.L" +aim_axis = 1 +pivot_axis = null +target = Vector3(0, 1, 2) + +[node name="eye_R" type="SkeletonModifier3D" parent="base/rig/Skeleton3D" index="2"] +_import_path = NodePath("") +unique_name_in_owner = false +process_mode = 0 +process_priority = 0 +process_physics_priority = 0 +process_thread_group = 0 +physics_interpolation_mode = 0 +auto_translate_mode = 0 +editor_description = "" +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +rotation_edit_mode = 0 +rotation_order = 2 +top_level = false +visible = true +visibility_parent = NodePath("") +active = false +influence = 1.0 +script = ExtResource("9_00p5l") +bone = "DEF-eye.R" +pivot_axis = null +target = Vector3(0, 1, 2) + +[node name="horns" parent="base/rig/Skeleton3D" index="3"] +transform = Transform3D(0.995176, 0.00944209, -0.0976543, -0.0186959, 0.99537, -0.0942843, 0.0963119, 0.0956552, 0.990745, -0.0245482, -0.0443767, -0.198597) + +[node name="iris_001" parent="base/rig/Skeleton3D" index="4"] +transform = Transform3D(-0.0189661, -0.000180307, -0.00186093, 0.000356653, -0.0189697, -0.00179691, -0.00183531, -0.00182306, 0.0188816, 0.0308699, 1.78271, 0.0538749) + +[node name="eye_001" parent="base/rig/Skeleton3D" index="5"] +transform = Transform3D(-0.0189661, -0.000180307, -0.00186093, 0.000356653, -0.0189697, -0.00179691, -0.00183531, -0.00182306, 0.0188816, 0.0308699, 1.78271, 0.0538749) + +[node name="black_001" parent="base/rig/Skeleton3D" index="6"] +transform = Transform3D(-0.0189661, -0.000180307, -0.00186093, 0.000356653, -0.0189697, -0.00179691, -0.00183531, -0.00182306, 0.0188816, 0.0308699, 1.78271, 0.0538749) + +[node name="iris_001_2" parent="base/rig/Skeleton3D" index="7"] +transform = Transform3D(-0.0189661, -0.000180307, -0.00186093, 0.000356653, -0.0189697, -0.00179691, -0.00183531, -0.00182306, 0.0188816, -0.0592035, 1.7844, 0.0451586) + +[node name="eye_001_2" parent="base/rig/Skeleton3D" index="8"] +transform = Transform3D(-0.0189661, -0.000180307, -0.00186093, 0.000356653, -0.0189697, -0.00179691, -0.00183531, -0.00182306, 0.0188816, -0.0592035, 1.7844, 0.0451586) + +[node name="black_001_2" parent="base/rig/Skeleton3D" index="9"] +transform = Transform3D(-0.0189661, -0.000180307, -0.00186093, 0.000356653, -0.0189697, -0.00179691, -0.00183531, -0.00182306, 0.0188816, -0.0592035, 1.7844, 0.0451586) + +[node name="AnimationPlayer" parent="." index="3"] +active = false