From c3805c44927b9c7945d932a4c602fbbf6cb0dcb8 Mon Sep 17 00:00:00 2001 From: Clifton Palmer Date: Wed, 4 Dec 2024 17:47:10 +0200 Subject: [PATCH] Track Node3D objects instead of Vector3 so targets aren't static --- TrackingBone3D.gd | 7 +- TrackingBone3D_head.gd | 7 +- player/player.gd | 8 +- player/player.tscn | 3 + project.godot | 1 + test/test.tscn | 6 +- william.gd | 8 +- william.tscn | 225 ++++++++++++++++++++--------------------- 8 files changed, 138 insertions(+), 127 deletions(-) diff --git a/TrackingBone3D.gd b/TrackingBone3D.gd index 2f74d14..a417f61 100644 --- a/TrackingBone3D.gd +++ b/TrackingBone3D.gd @@ -9,7 +9,7 @@ enum Axis { @export_enum(" ") var bone: String @export var aim_axis := Axis.Z_plus -@export var target: Vector3 = Vector3(0, 0, 0) +@export var target: Node3D = null var _skeleton: Skeleton3D var _bone_idx: int @@ -32,6 +32,9 @@ func _ready() -> void: func _process_modification() -> void: + if target == null: + return + var pose: Transform3D = _skeleton.global_transform * _skeleton.get_bone_global_pose(_bone_idx) var looked_at: Transform3D = _w_look_at(pose) @@ -60,7 +63,7 @@ func _w_look_at(from: Transform3D) -> Transform3D: elif aim_axis == Axis.Z_minus: w = from.basis.y.inverse() - var t_v: Vector3 = target - from.origin + var t_v: Vector3 = target.global_position - from.origin var v_y: Vector3 = t_v.normalized() var v_z: Vector3 = w.cross(v_y) v_z = v_z.normalized() diff --git a/TrackingBone3D_head.gd b/TrackingBone3D_head.gd index c1d3913..6d522b3 100644 --- a/TrackingBone3D_head.gd +++ b/TrackingBone3D_head.gd @@ -4,7 +4,7 @@ class_name TrackingBone3D_head extends SkeletonModifier3D @export_enum(" ") var bone: String -@export var target: Vector3 = Vector3(0, 0, 0) +@export var target: Node3D = null @export var influence_lerp_seconds: float = 0.5 @export var rotation_lerp_weight: float = 0.5 @@ -47,9 +47,12 @@ func _interpolate_influence(weight: float) -> void: func _process_modification() -> void: + if target == null: + return + var current_pose: Transform3D = _skeleton.global_transform * _skeleton.get_bone_global_pose(_bone_idx) current_pose.basis = old_current_pose.basis - var target_pose: Transform3D = current_pose.looking_at(target, Vector3.UP) + var target_pose: Transform3D = current_pose.looking_at(target.global_position, Vector3.UP) # TODO: replace this specific code with general purpose modifier var axis: Vector3 = target_pose.basis.y diff --git a/player/player.gd b/player/player.gd index 1ebbf4c..de4387b 100644 --- a/player/player.gd +++ b/player/player.gd @@ -331,13 +331,13 @@ func _process_player(delta: float) -> void: 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) + _skin.set_head_target(null) + _skin.set_eyes_target(null) 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) + _skin.set_head_target(target) + _skin.set_eyes_target(target) # if we find a head tracking obj, add it to the array unless it's already there diff --git a/player/player.tscn b/player/player.tscn index d9bcc61..e070876 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -36,6 +36,9 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -3.91559) shape = SubResource("CylinderShape3D_ntdse") +[node name="npcTrackPoint" type="Node3D" parent="WilliamSkin" groups=["npc-headTrack"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.78197, 0) + [node name="cameraPivot" type="Node3D" parent="."] [node name="SpringArm3D" type="SpringArm3D" parent="cameraPivot"] diff --git a/project.godot b/project.godot index c48d53e..ff5b0c0 100644 --- a/project.godot +++ b/project.godot @@ -29,6 +29,7 @@ enabled=PackedStringArray("res://addons/jigglebones/plugin.cfg") player-lockon="" player-headTrack="" player-eyeTrack="" +npc-headTrack="" [input] diff --git a/test/test.tscn b/test/test.tscn index 283ee17..9346762 100644 --- a/test/test.tscn +++ b/test/test.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=10 format=3 uid="uid://c0pxmaobqvkh4"] +[gd_scene load_steps=11 format=3 uid="uid://c0pxmaobqvkh4"] [ext_resource type="PackedScene" uid="uid://cp6xm8gp6csx" path="res://player/player.tscn" id="1_apkq8"] [ext_resource type="Script" path="res://test/test.gd" id="1_qjknf"] [ext_resource type="PackedScene" uid="uid://bxitip7rpbna4" path="res://test/cube.tscn" id="3_3tdke"] +[ext_resource type="PackedScene" uid="uid://bmcw5a71lsldu" path="res://test/npc.tscn" id="4_ml58d"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_whsn2"] sky_top_color = Color(0.418597, 0.461821, 0.5796, 1) @@ -63,4 +64,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.22183, 0, -2.93469) [node name="Cube3" parent="map" instance=ExtResource("3_3tdke")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.01348, 0, 0.883314) +[node name="NonPlayerCharacter" parent="." instance=ExtResource("4_ml58d")] +transform = Transform3D(0.868026, 0, 0.49652, 0, 1, 0, -0.49652, 0, 0.868026, -6.53488, 9.53674e-07, -0.682341) + [connection signal="camera_lockon" from="player" to="." method="_on_player_camera_lockon"] diff --git a/william.gd b/william.gd index 253ac50..d03befa 100644 --- a/william.gd +++ b/william.gd @@ -13,17 +13,17 @@ extends Node3D @onready var _eye_R: TrackingBone3D = $base/rig/Skeleton3D/track_eye_R -func set_eyes_target(target: Vector3) -> void: +func set_eyes_target(target: Node3D) -> void: for eye in [ _eye_L, _eye_R ]: eye.target = target - eye.active = target != Vector3.ZERO + eye.active = target != null eye.influence = eye_influence -func set_head_target(target: Vector3) -> void: +func set_head_target(target: Node3D) -> void: _head.target = target _head.active = 1 - _head.tween_influence(0.0 if target == Vector3.ZERO else head_influence) + _head.tween_influence(0.0 if target == null else head_influence) # manage talking and expressions diff --git a/william.tscn b/william.tscn index 73bc055..892eb3c 100644 --- a/william.tscn +++ b/william.tscn @@ -255,18 +255,18 @@ libraries = { } [node name="Skeleton3D" parent="base/rig" index="0"] -bones/0/position = Vector3(-0.0309692, 0.951593, -0.107306) -bones/0/rotation = Quaternion(0.0943206, -0.0710542, -0.0343918, 0.992407) +bones/0/position = Vector3(-0.0334491, 0.952181, -0.107531) +bones/0/rotation = Quaternion(0.100051, -0.0644568, -0.030875, 0.992412) bones/1/rotation = Quaternion(-0.0644764, -6.13826e-09, -1.28759e-08, 0.997919) bones/1/scale = Vector3(1, 1, 1) bones/2/rotation = Quaternion(-0.077464, 3.50653e-08, -6.15945e-08, 0.996995) bones/2/scale = Vector3(1, 1, 1) bones/3/rotation = Quaternion(0.00162711, -1.22272e-07, 2.23079e-08, 0.999999) bones/3/scale = Vector3(1, 1, 1) -bones/4/rotation = Quaternion(0.244995, 0.00221437, 0.12983, 0.96079) +bones/4/rotation = Quaternion(0.182344, -0.00301916, 0.119489, 0.975943) bones/4/scale = Vector3(1, 1, 1) -bones/5/rotation = Quaternion(-0.0948524, 0.00997605, -0.000950435, 0.995441) -bones/6/rotation = Quaternion(-0.0723547, 0.0217614, -0.0840369, 0.993594) +bones/5/rotation = Quaternion(-0.0948569, 0.00243061, -0.000231334, 0.995488) +bones/6/rotation = Quaternion(-0.0467218, 0.0171424, -0.0889993, 0.994788) bones/8/rotation = Quaternion(0.168183, 0.569008, 0.588719, 0.548958) bones/8/scale = Vector3(0.999996, 1.00001, 0.999996) bones/9/rotation = Quaternion(-0.241127, 0.0184639, -0.0778872, 0.967187) @@ -342,27 +342,27 @@ bones/45/scale = Vector3(1, 1, 1) bones/46/rotation = Quaternion(0.999709, -0.0117809, 0.0109536, 0.0179522) bones/46/scale = Vector3(1, 1, 1) bones/47/rotation = Quaternion(0.00924863, -0.103836, -0.0984251, 0.989669) -bones/48/rotation = Quaternion(0.0268154, -0.409863, -0.688099, 0.598175) -bones/48/scale = Vector3(0.997391, 1.00524, 0.997391) -bones/49/position = Vector3(0.228062, 0.104573, 0.124999) -bones/49/rotation = Quaternion(0.519691, -0.117498, 0.828101, -0.174255) -bones/49/scale = Vector3(1.05458, 0.899177, 1.05457) -bones/50/rotation = Quaternion(-0.545686, 0.0816836, -0.0507015, 0.832456) -bones/50/scale = Vector3(0.911558, 1.06789, 1.03559) -bones/51/position = Vector3(0.141099, 0.0394381, 0.0489972) -bones/51/rotation = Quaternion(-0.0898971, -0.400816, 0.597227, 0.688901) -bones/51/scale = Vector3(1.08712, 0.846162, 1.08712) +bones/48/rotation = Quaternion(0.0187827, -0.404697, -0.688828, 0.601152) +bones/48/scale = Vector3(0.997864, 1.00429, 0.997863) +bones/49/position = Vector3(0.229985, 0.104341, 0.122446) +bones/49/rotation = Quaternion(0.520314, -0.116257, 0.828981, -0.168963) +bones/49/scale = Vector3(1.05594, 0.896851, 1.05594) +bones/50/rotation = Quaternion(-0.545564, 0.0794897, -0.0546653, 0.832498) +bones/50/scale = Vector3(0.909563, 1.07002, 1.03624) +bones/51/position = Vector3(0.141648, 0.0388806, 0.0474723) +bones/51/rotation = Quaternion(-0.0818977, -0.395281, 0.594464, 0.695455) +bones/51/scale = Vector3(1.08948, 0.84249, 1.08948) bones/52/rotation = Quaternion(0.00924863, 0.103836, 0.0984251, 0.989669) -bones/53/rotation = Quaternion(0.0243414, 0.408277, 0.688328, 0.5991) -bones/53/scale = Vector3(0.997414, 1.00519, 0.997414) -bones/54/position = Vector3(-0.228751, 0.10451, 0.124176) -bones/54/rotation = Quaternion(-0.519068, -0.113016, 0.828865, 0.17544) -bones/54/scale = Vector3(1.05677, 0.895439, 1.05677) -bones/55/rotation = Quaternion(-0.551199, -0.0808537, 0.0525446, 0.828783) -bones/55/scale = Vector3(0.910309, 1.06454, 1.04058) -bones/56/position = Vector3(-0.141489, 0.0397868, 0.0488346) -bones/56/rotation = Quaternion(-0.088559, 0.398533, -0.599776, 0.688184) -bones/56/scale = Vector3(1.086, 0.847895, 1.086) +bones/53/rotation = Quaternion(0.0183519, 0.404277, 0.689123, 0.601109) +bones/53/scale = Vector3(0.997928, 1.00416, 0.997928) +bones/54/position = Vector3(-0.230082, 0.104367, 0.121936) +bones/54/rotation = Quaternion(-0.519771, -0.114589, 0.829007, 0.171622) +bones/54/scale = Vector3(1.0544, 0.899477, 1.0544) +bones/55/rotation = Quaternion(-0.547559, -0.079897, 0.0539887, 0.831192) +bones/55/scale = Vector3(0.907519, 1.07752, 1.03076) +bones/56/position = Vector3(-0.141489, 0.0385768, 0.0465146) +bones/56/rotation = Quaternion(-0.0780487, 0.393482, -0.591136, 0.699742) +bones/56/scale = Vector3(1.09396, 0.835602, 1.09396) bones/57/rotation = Quaternion(-0.707107, 1.8717e-21, -4.79154e-21, 0.707107) bones/57/scale = Vector3(1, 1, 1) bones/58/rotation = Quaternion(0.985574, 5.1254e-07, 3.5186e-08, 0.169243) @@ -462,93 +462,93 @@ bones/105/rotation = Quaternion(-0.0153969, -0.0395331, -0.239399, 0.969994) bones/105/scale = Vector3(1, 0.99999, 1.00001) bones/106/rotation = Quaternion(0.909589, -9.30845e-09, 3.15841e-08, -0.415509) bones/106/scale = Vector3(1, 1, 1) -bones/108/rotation = Quaternion(-0.0903696, 1.43808e-05, 0.00314306, 0.995903) -bones/109/rotation = Quaternion(-0.0915473, 0.00020205, 0.00373144, 0.995794) -bones/110/rotation = Quaternion(-0.0958237, 0.000286892, 0.0020646, 0.995396) +bones/108/rotation = Quaternion(-0.0780995, -0.000267313, -0.00274632, 0.996942) +bones/109/rotation = Quaternion(-0.0785074, -0.000251105, -0.00281578, 0.99691) +bones/110/rotation = Quaternion(-0.0903045, -9.87659e-05, -0.00114268, 0.995914) bones/111/rotation = Quaternion(0.897883, 0.391856, -0.0802525, -0.183887) bones/111/scale = Vector3(1, 1, 1) bones/112/scale = Vector3(1, 1, 1) -bones/113/rotation = Quaternion(-0.0514349, 0.00545756, 0.0792577, 0.995511) -bones/114/rotation = Quaternion(-0.0543703, 0.00572538, 0.092509, 0.99421) +bones/113/rotation = Quaternion(-0.0395815, 0.00583959, 0.0731061, 0.996521) +bones/114/rotation = Quaternion(-0.0414173, 0.00661838, 0.086647, 0.995356) bones/114/scale = Vector3(1, 1, 1) -bones/115/rotation = Quaternion(-0.0126762, 0.00575698, 0.145181, 0.989307) +bones/115/rotation = Quaternion(-0.00536357, 0.00718538, 0.142023, 0.989823) bones/115/scale = Vector3(1, 1, 1) bones/116/rotation = Quaternion(0.397645, 0.504989, 0.712315, -0.281907) -bones/118/rotation = Quaternion(-0.222662, -0.00423506, -0.00140778, 0.974886) +bones/118/rotation = Quaternion(-0.222807, -0.00352195, 0.00194919, 0.974854) bones/118/scale = Vector3(1, 1, 1) bones/119/rotation = Quaternion(6.16402e-08, 0.577417, 0.81645, 4.35937e-08) bones/119/scale = Vector3(1, 0.999999, 1) -bones/120/rotation = Quaternion(-0.14507, 7.98288e-05, 0.00162851, 0.98942) -bones/121/rotation = Quaternion(-0.143841, -1.907e-05, -0.000302621, 0.989601) +bones/120/rotation = Quaternion(-0.139363, -0.000293258, -0.00166095, 0.99024) +bones/121/rotation = Quaternion(-0.146979, 4.24879e-05, 0.000188893, 0.98914) bones/121/scale = Vector3(1, 1, 1) bones/122/rotation = Quaternion(0.575312, -0.413999, -0.566364, -0.420539) -bones/123/rotation = Quaternion(-0.259164, 0.000940819, 0.000974511, 0.965832) +bones/123/rotation = Quaternion(-0.25348, 9.18025e-05, -0.00223405, 0.967338) bones/123/scale = Vector3(1, 1, 1) -bones/124/rotation = Quaternion(-0.187379, 0.00152879, 0.00097465, 0.982286) +bones/124/rotation = Quaternion(-0.187923, 0.00119816, -0.000843786, 0.982183) bones/125/rotation = Quaternion(0.897883, -0.391856, 0.0802525, -0.183887) bones/125/scale = Vector3(1, 1, 1) bones/126/scale = Vector3(1, 1, 1) -bones/127/rotation = Quaternion(-0.0514145, -0.00549075, -0.0721481, 0.996053) -bones/128/rotation = Quaternion(-0.054287, -0.00554829, -0.085558, 0.994838) +bones/127/rotation = Quaternion(-0.0392316, -0.00619309, -0.078504, 0.996122) +bones/128/rotation = Quaternion(-0.0413287, -0.00690274, -0.0923617, 0.994844) bones/128/scale = Vector3(1, 1, 1) -bones/129/rotation = Quaternion(-0.0121287, -0.00451661, -0.111563, 0.993673) -bones/130/position = Vector3(-0.0309692, 0.951593, -0.107306) -bones/130/rotation = Quaternion(-0.109661, -0.791773, -0.386729, 0.459903) -bones/131/position = Vector3(-0.0309692, 0.951593, -0.107306) -bones/131/rotation = Quaternion(-0.0956655, 0.728984, 0.329598, 0.59228) +bones/129/rotation = Quaternion(-0.0067314, -0.00538064, -0.114055, 0.993437) +bones/130/position = Vector3(-0.0334491, 0.952181, -0.107531) +bones/130/rotation = Quaternion(-0.1058, -0.787275, -0.388458, 0.467017) +bones/131/position = Vector3(-0.0334491, 0.952181, -0.107531) +bones/131/rotation = Quaternion(-0.0936178, 0.730217, 0.336965, 0.586918) bones/131/scale = Vector3(1, 1, 1) -bones/132/position = Vector3(0.0865793, 0.918381, -0.0836216) -bones/132/rotation = Quaternion(-0.761974, -0.0152609, -0.0812267, 0.642313) -bones/133/position = Vector3(-0.154381, 0.938318, -0.116556) -bones/133/rotation = Quaternion(-0.762044, -0.0151902, -0.0811401, 0.642242) -bones/134/position = Vector3(-0.0310684, 0.899671, 0.084268) -bones/134/rotation = Quaternion(0.997518, -0.0193941, 0.0660711, 0.0147313) -bones/135/rotation = Quaternion(0.0100895, -9.79479e-05, -0.0132324, 0.999862) -bones/136/rotation = Quaternion(0.00198149, -1.44948e-06, -0.00147437, 0.999997) -bones/137/position = Vector3(-0.0902654, 0.904554, 0.0760787) -bones/137/rotation = Quaternion(0.997519, -0.0193963, 0.0660658, 0.0146976) -bones/138/rotation = Quaternion(0.0105128, -0.000102277, -0.0132305, 0.999857) -bones/139/rotation = Quaternion(0.000586085, -1.78109e-06, -0.00130128, 0.999999) -bones/140/position = Vector3(-0.057591, 0.901805, 0.0575946) -bones/140/rotation = Quaternion(-0.0176184, 0.628308, 0.774791, 0.0679537) -bones/141/rotation = Quaternion(-0.289445, -0.00837412, 0.0281513, 0.956744) -bones/142/rotation = Quaternion(-0.15605, -0.00227674, 0.016879, 0.987602) -bones/143/rotation = Quaternion(-0.0724405, -0.000543609, 0.00953061, 0.997327) -bones/144/rotation = Quaternion(-0.0323269, -0.000121365, 0.00408967, 0.999469) -bones/145/position = Vector3(0.0954467, 0.913536, -0.052482) -bones/145/rotation = Quaternion(0.977199, 0.123074, 0.0519422, 0.165033) -bones/145/scale = Vector3(1.00728, 0.985604, 1.00728) -bones/146/rotation = Quaternion(-2.91762e-08, -0.0742692, 2.99226e-08, 0.997238) -bones/147/rotation = Quaternion(0.16808, -0.0748194, 0.0125701, 0.98285) -bones/147/scale = Vector3(1.00031, 0.997275, 1.0025) -bones/148/rotation = Quaternion(3.6765e-08, -0.00508533, -2.58464e-08, 0.999987) -bones/149/rotation = Quaternion(-0.471317, -0.005569, 0.0867902, 0.877666) -bones/149/scale = Vector3(0.993631, 0.998612, 1.00803) -bones/150/rotation = Quaternion(2.4767e-05, 0.965803, -0.259276, -0.000225157) +bones/132/position = Vector3(0.0847623, 0.919643, -0.0856495) +bones/132/rotation = Quaternion(-0.758838, -0.0140803, -0.0734941, 0.646967) +bones/133/position = Vector3(-0.156814, 0.937855, -0.115372) +bones/133/rotation = Quaternion(-0.758712, -0.0140905, -0.0734868, 0.647115) +bones/134/position = Vector3(-0.0306435, 0.898097, 0.0834619) +bones/134/rotation = Quaternion(0.997954, -0.020018, 0.0599397, 0.00976449) +bones/135/rotation = Quaternion(0.0107023, -9.79473e-05, -0.0101516, 0.999891) +bones/136/rotation = Quaternion(0.00139564, -1.4513e-06, -0.00149611, 0.999998) +bones/137/position = Vector3(-0.0900429, 0.902532, 0.0761356) +bones/137/rotation = Quaternion(0.99796, -0.019958, 0.059959, 0.00906081) +bones/138/rotation = Quaternion(0.0105392, -0.000102289, -0.00993159, 0.999895) +bones/139/rotation = Quaternion(0.00201703, -1.78525e-06, -0.00139717, 0.999997) +bones/140/position = Vector3(-0.0575837, 0.900297, 0.057252) +bones/140/rotation = Quaternion(-0.016122, 0.624339, 0.778564, 0.0614787) +bones/141/rotation = Quaternion(-0.289881, -0.00682847, 0.0220391, 0.956785) +bones/142/rotation = Quaternion(-0.15722, -0.00227524, 0.0134875, 0.987469) +bones/143/rotation = Quaternion(-0.0729062, -0.000543607, 0.0054352, 0.997324) +bones/144/rotation = Quaternion(-0.0336155, -0.000121362, 0.00248277, 0.999432) +bones/145/position = Vector3(0.0940114, 0.914672, -0.0546842) +bones/145/rotation = Quaternion(0.977893, 0.12247, 0.0475193, 0.162691) +bones/145/scale = Vector3(1.00698, 0.98618, 1.00698) +bones/146/rotation = Quaternion(-1.61789e-08, -0.0732116, -2.27142e-09, 0.997316) +bones/147/rotation = Quaternion(0.16, -0.0734391, 0.0117358, 0.984312) +bones/147/scale = Vector3(1.00031, 0.997262, 1.00252) +bones/148/rotation = Quaternion(1.81237e-08, -0.00442741, 3.40051e-08, 0.99999) +bones/149/rotation = Quaternion(-0.467783, -0.00484397, 0.0880531, 0.879433) +bones/149/scale = Vector3(0.993591, 0.9987, 1.00798) +bones/150/rotation = Quaternion(2.46375e-05, 0.965725, -0.259567, -0.000225143) bones/150/scale = Vector3(0.99967, 1.00041, 0.999919) -bones/151/position = Vector3(-0.171853, 0.935682, -0.0890468) -bones/151/rotation = Quaternion(0.995527, 0.0705735, 0.0625205, 0.00604707) -bones/151/scale = Vector3(1.00489, 0.990294, 1.00489) -bones/152/rotation = Quaternion(8.62779e-10, 0.0380266, 1.96343e-09, 0.999277) -bones/153/rotation = Quaternion(0.13632, 0.0367301, -0.00499539, 0.989971) -bones/153/scale = Vector3(1.00025, 0.99826, 1.00152) -bones/154/rotation = Quaternion(-5.68689e-08, 0.0121986, 1.98656e-08, 0.999926) -bones/155/rotation = Quaternion(-0.605744, 0.0123536, 0.0756436, 0.791959) -bones/155/scale = Vector3(0.995141, 0.995493, 1.00947) -bones/156/rotation = Quaternion(0.000118064, 0.95988, -0.280411, 0.000185176) +bones/151/position = Vector3(-0.173928, 0.934751, -0.0876868) +bones/151/rotation = Quaternion(0.995786, 0.071836, 0.0566153, 0.00673535) +bones/151/scale = Vector3(1.00496, 0.990146, 1.00496) +bones/152/rotation = Quaternion(1.47285e-08, 0.0376498, 8.2278e-09, 0.999291) +bones/153/rotation = Quaternion(0.138725, 0.0376484, -0.00521122, 0.989601) +bones/153/scale = Vector3(1.00025, 0.998336, 1.00145) +bones/154/rotation = Quaternion(-6.98089e-08, 0.0139087, 2.06132e-08, 0.999903) +bones/155/rotation = Quaternion(-0.607462, 0.0140594, 0.0772356, 0.79046) +bones/155/scale = Vector3(0.995047, 0.995391, 1.00967) +bones/156/rotation = Quaternion(0.000119087, 0.959715, -0.280975, 0.000184867) bones/156/scale = Vector3(0.999826, 1.0002, 0.999978) -bones/157/position = Vector3(0.0309402, 1.54704, -0.0645917) -bones/157/rotation = Quaternion(-0.507462, -0.508762, -0.474596, 0.508334) -bones/158/position = Vector3(0.264242, 1.53721, -0.074372) -bones/158/rotation = Quaternion(-0.246812, -0.134176, 0.939727, -0.194919) -bones/158/scale = Vector3(1.0006, 0.998802, 1.0006) -bones/159/rotation = Quaternion(6.78934e-09, 0.023431, 7.70126e-08, 0.999725) +bones/157/position = Vector3(0.0236747, 1.54763, -0.0587545) +bones/157/rotation = Quaternion(-0.505543, -0.456996, -0.485099, 0.547961) +bones/158/position = Vector3(0.255039, 1.53433, -0.0883859) +bones/158/rotation = Quaternion(-0.241216, -0.108833, 0.947166, -0.181238) +bones/158/scale = Vector3(1.00019, 0.999611, 1.00019) +bones/159/rotation = Quaternion(3.22115e-08, 0.00313075, 3.37006e-08, 0.999995) bones/159/scale = Vector3(0.999999, 1, 1) -bones/160/rotation = Quaternion(0.384489, 0.0237718, -0.00990415, 0.92277) -bones/160/scale = Vector3(1.00003, 0.998584, 1.00139) -bones/161/rotation = Quaternion(1.16154e-07, 0.0228609, -3.21839e-08, 0.999739) -bones/162/rotation = Quaternion(0.0304526, 0.0283363, -0.0106711, 0.999078) -bones/162/scale = Vector3(0.999356, 1.00128, 0.999366) +bones/160/rotation = Quaternion(0.322152, 0.00313088, -0.00106479, 0.946682) +bones/160/scale = Vector3(1.00001, 0.999146, 1.00085) +bones/161/rotation = Quaternion(2.95905e-08, 0.00665094, 1.25159e-08, 0.999978) +bones/162/rotation = Quaternion(0.0735189, 0.0118944, -0.0449221, 0.996211) +bones/162/scale = Vector3(0.999828, 1.00034, 0.99983) bones/163/position = Vector3(-0.0197298, 0.120467, 0.0346734) bones/163/rotation = Quaternion(0.0718441, 0.386481, 0.0423991, 0.918517) bones/164/rotation = Quaternion(0.112742, -6.40415e-05, 0.000564981, 0.993624) @@ -582,18 +582,18 @@ bones/179/rotation = Quaternion(0.120863, 0.000593449, -0.00487831, 0.992657) bones/179/scale = Vector3(1, 1, 1) bones/180/rotation = Quaternion(-0.0363518, -7.20591e-06, 0.00959009, 0.999293) bones/181/rotation = Quaternion(-0.0699756, 0.498239, -0.128393, 0.854621) -bones/182/position = Vector3(-0.00520391, 1.55003, -0.0695138) -bones/182/rotation = Quaternion(-0.663681, 0.409085, 0.442055, 0.443582) -bones/183/position = Vector3(-0.218339, 1.46942, -0.121178) -bones/183/rotation = Quaternion(0.127982, -0.119031, 0.978115, 0.112884) -bones/183/scale = Vector3(0.999049, 1.0019, 0.999049) -bones/184/rotation = Quaternion(4.54167e-08, 0.0165822, 8.94388e-08, 0.999863) +bones/182/position = Vector3(-0.0122783, 1.55028, -0.0636533) +bones/182/rotation = Quaternion(-0.651395, 0.390252, 0.436529, 0.482525) +bones/183/position = Vector3(-0.224953, 1.47934, -0.130026) +bones/183/rotation = Quaternion(0.11304, -0.131997, 0.977361, 0.12068) +bones/183/scale = Vector3(0.999496, 1.00101, 0.999496) +bones/184/rotation = Quaternion(-1.43556e-07, 0.0293739, -9.3858e-08, 0.999569) bones/184/scale = Vector3(1, 1, 1) -bones/185/rotation = Quaternion(0.319208, 0.0166682, -0.0056169, 0.947521) -bones/185/scale = Vector3(0.999958, 1.00075, 0.999292) -bones/186/rotation = Quaternion(9.24581e-08, 0.0255189, -1.06448e-07, 0.999674) -bones/187/rotation = Quaternion(-0.0616937, 0.0204298, 0.081947, 0.994516) -bones/187/scale = Vector3(1.00095, 0.99807, 1.00099) +bones/185/rotation = Quaternion(0.32788, 0.0293724, -0.0102015, 0.944207) +bones/185/scale = Vector3(0.999955, 1.00075, 0.999293) +bones/186/rotation = Quaternion(1.20083e-07, 0.0346823, -4.40695e-08, 0.999398) +bones/187/rotation = Quaternion(-0.0645372, 0.0294331, 0.0555323, 0.995934) +bones/187/scale = Vector3(1.00052, 0.998966, 1.00052) bones/188/position = Vector3(0.0197299, 0.120467, 0.0346735) bones/188/rotation = Quaternion(0.0718441, -0.386481, -0.0423991, 0.918517) bones/189/rotation = Quaternion(0.112742, 6.40372e-05, -0.000564644, 0.993624) @@ -628,16 +628,16 @@ bones/204/rotation = Quaternion(0.120863, -0.000593412, 0.00487826, 0.992657) bones/204/scale = Vector3(1, 1, 1) bones/205/rotation = Quaternion(-0.0363513, 7.21743e-06, -0.00959023, 0.999293) bones/206/rotation = Quaternion(-0.0699756, -0.498239, 0.128393, 0.854621) -bones/207/position = Vector3(0.110959, 1.4017, 0.00401887) -bones/207/rotation = Quaternion(-0.0174562, 0.678729, 0.730583, 0.0726013) +bones/207/position = Vector3(0.105998, 1.40221, 0.00704497) +bones/207/rotation = Quaternion(-0.0156378, 0.674981, 0.734776, 0.0652649) bones/207/scale = Vector3(1, 1, 1) -bones/208/position = Vector3(-0.122881, 1.42102, -0.027914) -bones/208/rotation = Quaternion(-0.0176228, 0.67884, 0.730461, 0.0727497) +bones/208/position = Vector3(-0.128581, 1.41982, -0.0216445) +bones/208/rotation = Quaternion(-0.0156217, 0.675223, 0.734555, 0.0652578) bones/208/scale = Vector3(1, 1, 1) -bones/209/position = Vector3(0.186903, 1.36748, -0.136655) -bones/209/rotation = Quaternion(-0.726681, -0.016337, -0.0772309, 0.682425) -bones/210/position = Vector3(-0.163115, 1.39643, -0.184448) -bones/210/rotation = Quaternion(-0.726681, -0.016337, -0.0772309, 0.682425) +bones/209/position = Vector3(0.180494, 1.37024, -0.13474) +bones/209/rotation = Quaternion(-0.723174, -0.0150759, -0.0698618, 0.686958) +bones/210/position = Vector3(-0.170522, 1.39662, -0.177935) +bones/210/rotation = Quaternion(-0.723174, -0.0150759, -0.0698618, 0.686958) script = ExtResource("7_4sh2k") enable_jigglebones = false jigglebone_configs = Array[ExtResource("8_ptrfv")]([SubResource("Resource_2rjdy"), SubResource("Resource_7y4fq"), SubResource("Resource_kfq4j"), SubResource("Resource_n2mxm"), SubResource("Resource_orlqw"), SubResource("Resource_65olk")]) @@ -662,7 +662,6 @@ active = false influence = 0.0 script = ExtResource("7_h7lx0") bone = "DEF-spine.006" -target = Vector3(1.07, 1.61, 2) influence_lerp_seconds = 3.0 rotation_lerp_weight = 0.01 @@ -686,7 +685,6 @@ active = false influence = 1.0 script = ExtResource("9_00p5l") bone = "DEF-eye.L" -target = Vector3(0, 1, 2) [node name="track_eye_R" type="SkeletonModifier3D" parent="base/rig/Skeleton3D" index="2"] _import_path = NodePath("") @@ -708,7 +706,6 @@ active = false influence = 1.0 script = ExtResource("9_00p5l") bone = "DEF-eye.R" -target = Vector3(0, 1, 2) [node name="horns" parent="base/rig/Skeleton3D" index="11"] transform = Transform3D(0.991343, 0.00187152, -0.131286, -0.0283792, 0.979318, -0.200331, 0.128196, 0.202322, 0.970893, -0.0223006, -0.0126594, -0.397749) -- 2.47.2