content/hifi-content/caitlyn/scratch/hifi_tools (5)/armature/skeleton.py
2022-02-13 22:19:19 +01:00

395 lines
No EOL
56 KiB
Python

from mathutils import Matrix, Vector, Euler
structure = [{'name': 'Hips', 'matrix': Matrix(((1.0, 0.0, 0.0, -9.678368542154203e-07),
(0.0, -4.570161493688829e-08, -0.9999999403953552, 0.01087239570915699),
(0.0, 0.9999999403953552, 5.960464477539063e-08, 0.9391523003578186),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-9.678368542154203e-07, 0.01087239570915699, 0.9391523003578186)), 'children': [{'name': 'Spine', 'matrix': Matrix(((1.0, 6.496691895563345e-08, 3.2505613489774987e-06, -9.678368542154203e-07),
(3.250555892009288e-06, 8.145591709762812e-05, -1.0, 0.010872388258576393),
(-6.523170270611445e-08, 1.0, 8.14199447631836e-05, 1.102178931236267),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-9.678368542154203e-07, 0.010872388258576393, 1.102178931236267)), 'children': [{'name': 'Spine1', 'matrix': Matrix(((1.0, -5.828329108226171e-08, 6.40189136902336e-06, -9.606525281924405e-07),
(6.401892733265413e-06, 1.643976429477334e-05, -0.9999999403953552, 0.010881396010518074),
(5.817804193952725e-08, 0.9999999403953552, 1.6570091247558594e-05, 1.2127633094787598),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-9.606525281924405e-07, 0.010881396010518074, 1.2127633094787598)), 'children': [{'name': 'Spine2', 'matrix': Matrix(((1.0, 2.1444215235533193e-05, 3.561537141649751e-06, -9.675961791799637e-07),
(-1.2768905435223132e-06, 0.22150301933288574, -0.9751597046852112, 0.01088335458189249),
(-2.1700425349990837e-05, 0.9751597046852112, 0.22150301933288574, 1.3318995237350464),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-9.675961791799637e-07, 0.01088335458189249, 1.3318995237350464)), 'children': [{'name': 'Neck', 'matrix': Matrix(((1.0, -5.385258555179462e-05, 3.5847347135131713e-07, 2.0770105493284063e-06),
(1.0717375289459596e-06, 0.013245363719761372, -0.9999122619628906, 0.04233190789818764),
(5.384311225498095e-05, 0.9999122619628906, 0.013245400972664356, 1.470350742340088),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((2.0770105493284063e-06, 0.04233190789818764, 1.470350742340088)), 'children': [{'name': 'Head', 'matrix': Matrix(((1.0, -0.0001840481418184936, -2.7656469683279283e-06, -3.4248203064635163e-06),
(2.7656146812660154e-06, 0.030046537518501282, -0.9995485544204712, 0.04368511587381363),
(0.0001840481418184936, 0.9995484948158264, 0.030046610161662102, 1.5725064277648926),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-3.4248203064635163e-06, 0.04368511587381363, 1.5725064277648926)), 'children': [{'name': 'HeadTop_End', 'matrix': Matrix(((1.0, 0.0, -2.032878265616754e-20, -1.8583938071969897e-05),
(-2.0328784271754673e-20, -5.754176868322247e-08, -0.9999999403953552, 0.024076176807284355),
(-1.1697542851419115e-27, 0.9999999403953552, 5.960464477539063e-08, 1.8859091997146606),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-1.8583938071969897e-05, 0.024076176807284355, 1.8859091997146606)), 'children': [], 'matrix_local': Matrix(((1.0, -2.1643131731252652e-11, 0.0, -1.8583947166916914e-05),
(-2.2737367544323206e-13, -6.705522537231445e-08, -0.9999998807907104, 0.024076178669929504),
(7.347011887759436e-12, 0.9999998807907104, 5.4016709327697754e-08, 1.8859091997146606),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-1.8583938071969897e-05, 0.02407616376876831, 2.112501382827759)), 'connect': False}, {'name': 'RightEye', 'matrix': Matrix(((1.0, 0.0, -2.0328785887341806e-20, -0.047298215329647064),
(-2.0328785887341806e-20, 0.0, -1.0, -0.06840978562831879),
(0.0, 1.0, 0.0, 1.7018897533416748),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.047298215329647064, -0.06840978562831879, 1.7018897533416748)), 'children': [], 'matrix_local': Matrix(((1.0, -1.2870721377566952e-08, 0.0, -0.04729820787906647),
(0.0, 2.7939677238464355e-08, -0.9999998807907104, -0.06840979307889938),
(1.2868291321410652e-08, 0.9999998807907104, 1.4901161193847656e-07, 1.7018897533416748),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.047298215329647064, -0.06840978562831879, 1.9284816980361938)), 'connect': False}, {'name': 'LeftEye', 'matrix': Matrix(((1.0, 0.0, -2.032878265616754e-20, 0.047298211604356766),
(-2.0328784271754673e-20, -3.288102945475657e-08, -0.9999999403953552, -0.0684097483754158),
(-6.684313983887599e-28, 0.9999999403953552, 5.960464477539063e-08, 1.7018895149230957),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.047298211604356766, -0.0684097483754158, 1.7018895149230957)), 'children': [], 'matrix_local': Matrix(((1.0, -1.2972627416729665e-08, 0.0, 0.047298215329647064),
(0.0, 1.1175870895385742e-08, -0.9999998807907104, -0.068409763276577),
(1.2970247098564869e-08, 0.9999998807907104, 1.3224780559539795e-07, 1.7018895149230957),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.047298211604356766, -0.0684097558259964, 1.9284815788269043)), 'connect': False}], 'matrix_local': Matrix(((1.0, -0.00018404809816274792, -2.765654926406569e-06, -3.424820079089841e-06),
(2.7656008114718134e-06, 0.030046531930565834, -0.9995484352111816, 0.04368511587381363),
(0.00018404806905891746, 0.9995484352111816, 0.030046651139855385, 1.5725064277648926),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-4.5046333980280906e-05, 0.05047998204827309, 1.7985490560531616)), 'connect': True}], 'matrix_local': Matrix(((1.0, -5.385258555179462e-05, 3.5847051549353637e-07, 2.077010321954731e-06),
(1.071734914148692e-06, 0.013245344161987305, -0.9999122023582458, 0.042331911623477936),
(5.3843108617002144e-05, 0.9999122023582458, 0.013245463371276855, 1.470350742340088),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-3.4248203064635163e-06, 0.04368511587381363, 1.5725064277648926)), 'connect': True}, {'name': 'LeftShoulder', 'matrix': Matrix(((-0.23500123620033264, 0.9705715775489807, -0.05258182808756828, 0.05301709100604057),
(0.9556886553764343, 0.24058783054351807, 0.16963694989681244, 0.0311861764639616),
(0.17729540169239044, -0.010386963374912739, -0.9841029047966003, 1.4535115957260132),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.05301709100604057, 0.0311861764639616, 1.4535115957260132)), 'children': [{'name': 'LeftArm', 'matrix': Matrix(((-0.037574686110019684, 0.9992642998695374, -0.007658769842237234, 0.12930862605571747),
(0.9902960062026978, 0.0382615327835083, 0.13360261917114258, 0.050097521394491196),
(0.13379739224910736, -0.002564358990639448, -0.9910053610801697, 1.4526951313018799),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.12930862605571747, 0.050097521394491196, 1.4526951313018799)), 'children': [{'name': 'LeftForeArm', 'matrix': Matrix(((-0.0011168692726641893, 0.9999853372573853, -0.005228402093052864, 0.41880232095718384),
(0.98545241355896, 0.001989340875297785, 0.16993966698646545, 0.06118214875459671),
(0.16994762420654297, -0.004962508101016283, -0.9854406118392944, 1.4519522190093994),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.41880232095718384, 0.06118214875459671, 1.4519522190093994)), 'children': [{'name': 'LeftHand', 'matrix': Matrix(((-0.0861973911523819, 0.9962510466575623, -0.0073473756201565266, 0.7033866047859192),
(0.9962769150733948, 0.08620624989271164, 0.0009051631204783916, 0.06174829229712486),
(0.0015351604670286179, -0.007241999264806509, -0.9999725818634033, 1.4505399465560913),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7033866047859192, 0.06174829229712486, 1.4505399465560913)), 'children': [{'name': 'LeftHandMiddle1', 'matrix': Matrix(((-0.001445511938072741, 0.9999916553497314, 0.0038415228482335806, 0.7970767021179199),
(0.9999985098838806, 0.001441956264898181, 0.0009218447376042604, 0.06175963580608368),
(0.0009162973146885633, 0.0038428499829024076, -0.9999921917915344, 1.45052170753479),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7970767021179199, 0.06175963580608368, 1.45052170753479)), 'children': [{'name': 'LeftHandMiddle2', 'matrix': Matrix(((-0.002891190117225051, 0.9999908208847046, -0.003158717416226864, 0.8390478491783142),
(0.9999957084655762, 0.0028894441202282906, -0.0005399095825850964, 0.06182015687227249),
(-0.0005307774990797043, -0.003160265274345875, -0.9999948740005493, 1.4506829977035522),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8390478491783142, 0.06182015687227249, 1.4506829977035522)), 'children': [{'name': 'LeftHandMiddle3', 'matrix': Matrix(((-0.0007422599010169506, 0.9999988079071045, 0.001344419433735311, 0.8694886565208435),
(0.9999983906745911, 0.0007401416660286486, 0.0016252010827884078, 0.061908114701509476),
(0.001624204101972282, 0.0013456239830702543, -0.9999977350234985, 1.4505867958068848),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8694886565208435, 0.061908114701509476, 1.4505867958068848)), 'children': [{'name': 'LeftHandMiddle4', 'matrix': Matrix(((-0.0007194394711405039, 0.9999989867210388, 0.0013366728089749813, 0.9001408815383911),
(0.9999983906745911, 0.0007171746692620218, 0.0016405547503381968, 0.06193080171942711),
(0.001639593974687159, 0.0013378511648625135, -0.9999977350234985, 1.4506280422210693),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.9001408815383911, 0.06193080171942711, 1.4506280422210693)), 'children': [], 'matrix_local': Matrix(((-0.0007193748606368899, 0.9999987483024597, 0.0013366466155275702, 0.9001409411430359),
(0.9999982714653015, 0.0007171746110543609, 0.0016405542846769094, 0.0619308166205883),
(0.0016394249396398664, 0.0013378510484471917, -0.999997615814209, 1.4506280422210693),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.9307929873466492, 0.06195278465747833, 1.4506690502166748)), 'connect': True}], 'matrix_local': Matrix(((-0.0007423341739922762, 0.9999987483024597, 0.001344392541795969, 0.8694887161254883),
(0.9999982714653015, 0.0007401418406516314, 0.0016252010827884078, 0.06190812960267067),
(0.001624035183340311, 0.0013456232845783234, -0.999997615814209, 1.4505867958068848),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.9001408815383911, 0.06193080171942711, 1.4506280422210693)), 'connect': True}], 'matrix_local': Matrix(((-0.002891142852604389, 0.9999907612800598, -0.003158744191750884, 0.839047908782959),
(0.9999955296516418, 0.0028894441202282906, -0.0005399094661697745, 0.061820171773433685),
(-0.0005309463012963533, -0.003160265274345875, -0.999994695186615, 1.4506829977035522),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8694886565208435, 0.061908114701509476, 1.4505867958068848)), 'connect': True}], 'matrix_local': Matrix(((-0.0014455061173066497, 0.9999915361404419, 0.003841495607048273, 0.7970767617225647),
(0.9999983906745911, 0.0014419677900150418, 0.0009218446211889386, 0.06175965070724487),
(0.0009161287453025579, 0.003842848353087902, -0.9999920725822449, 1.45052170753479),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8390478491783142, 0.06182015687227249, 1.4506829977035522)), 'connect': False}, {'name': 'LeftHandThumb1', 'matrix': Matrix(((0.499536395072937, 0.7774866819381714, -0.3820704221725464, 0.7383624315261841),
(0.8662880659103394, -0.44979268312454224, 0.21732762455940247, 0.041483525186777115),
(-0.0028832703828811646, -0.43954604864120483, -0.8982153534889221, 1.4335601329803467),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7383624315261841, 0.041483525186777115, 1.4335601329803467)), 'children': [{'name': 'LeftHandThumb2', 'matrix': Matrix(((0.5079436898231506, 0.7699732184410095, -0.3861796259880066, 0.7702827453613281),
(0.8613848090171814, -0.4524165987968445, 0.2309453785419464, 0.02301693893969059),
(0.0031080543994903564, -0.44995665550231934, -0.89304518699646, 1.4155142307281494),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7702827453613281, 0.02301693893969059, 1.4155142307281494)), 'children': [{'name': 'LeftHandThumb3', 'matrix': Matrix(((0.4866175055503845, 0.7798937559127808, -0.3936613202095032, 0.8028973340988159),
(0.8735319375991821, -0.4405970573425293, 0.20692178606987, 0.003853442147374153),
(-0.012068763375282288, -0.44456759095191956, -0.8956641554832458, 1.396454930305481),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8028973340988159, 0.003853442147374153, 1.396454930305481)), 'children': [{'name': 'LeftHandThumb4', 'matrix': Matrix(((0.5006127953529358, 0.7749483585357666, -0.38579970598220825, 0.8264647722244263),
(0.8656684160232544, -0.4492395222187042, 0.22091048955917358, -0.009460864588618279),
(-0.002122446894645691, -0.4445651173591614, -0.8957437872886658, 1.3830206394195557),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8264647722244263, -0.009460864588618279, 1.3830206394195557)), 'children': [], 'matrix_local': Matrix(((0.5006127953529358, 0.7749485969543457, -0.38579967617988586, 0.826464831829071),
(0.8656684756278992, -0.449239581823349, 0.22091050446033478, -0.00946085900068283),
(-0.002122330479323864, -0.4445652663707733, -0.8957437872886658, 1.3830206394195557),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8498824834823608, -0.02303616888821125, 1.3695865869522095)), 'connect': True}], 'matrix_local': Matrix(((0.48661765456199646, 0.7798935770988464, -0.39366135001182556, 0.8028973937034607),
(0.8735315203666687, -0.4405970275402069, 0.20692181587219238, 0.00385344959795475),
(-0.012069163843989372, -0.44456741213798523, -0.8956639766693115, 1.396454930305481),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8264647722244263, -0.009460864588618279, 1.3830206394195557)), 'connect': True}], 'matrix_local': Matrix(((0.5079436898231506, 0.7699729800224304, -0.38617974519729614, 0.7702828049659729),
(0.8613845705986023, -0.45241641998291016, 0.2309454381465912, 0.023016948252916336),
(0.003107542172074318, -0.4499565064907074, -0.8930450081825256, 1.4155142307281494),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8028973340988159, 0.003853442147374153, 1.396454930305481)), 'connect': True}], 'matrix_local': Matrix(((0.49953630566596985, 0.7774866819381714, -0.3820704221725464, 0.7383624911308289),
(0.8662880063056946, -0.4497927725315094, 0.21732760965824127, 0.04148353636264801),
(-0.0028833423275500536, -0.43954601883888245, -0.8982152938842773, 1.4335601329803467),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.7702827453613281, 0.02301693893969059, 1.4155142307281494)), 'connect': False}, {'name': 'LeftHandIndex1', 'matrix': Matrix(((-0.0011904471321031451, 0.9999944567680359, 0.003156630089506507, 0.7970793843269348),
(0.999998927116394, 0.0011875280179083347, 0.0009169161785393953, 0.03613369166851044),
(0.000913162250071764, 0.003157719038426876, -0.9999945759773254, 1.4484058618545532),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7970793843269348, 0.03613369166851044, 1.4484058618545532)), 'children': [{'name': 'LeftHandIndex2', 'matrix': Matrix(((-0.002030507894232869, 0.9999974370002747, -0.0011455456260591745, 0.8378132581710815),
(0.9999979734420776, 0.002030574483796954, 7.522199302911758e-05, 0.036182064563035965),
(7.754808757454157e-05, -0.0011453911429271102, -0.9999993443489075, 1.4485344886779785),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8378132581710815, 0.036182064563035965, 1.4485344886779785)), 'children': [{'name': 'LeftHandIndex3', 'matrix': Matrix(((-5.271699046716094e-05, 0.9999997615814209, 0.0009574135183356702, 0.8721587061882019),
(0.9999979138374329, 5.0725760956993327e-05, 0.002053679898381233, 0.03625180572271347),
(0.002053630305454135, 0.000957519980147481, -0.9999974370002747, 1.4484951496124268),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8721587061882019, 0.03625180572271347, 1.4484951496124268)), 'children': [{'name': 'LeftHandIndex4', 'matrix': Matrix(((-0.0012270252918824553, 0.9999988079071045, 0.0009518867009319365, 0.8983032703399658),
(0.9999988675117493, 0.0012261198135092854, 0.0008822454256005585, 0.03625313192605972),
(0.0008810772560536861, 0.0009529680828563869, -0.9999992251396179, 1.4485201835632324),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8983032703399658, 0.03625313192605972, 1.4485201835632324)), 'children': [], 'matrix_local': Matrix(((-0.0012269834987819195, 0.9999985694885254, 0.0009518629522062838, 0.8983033299446106),
(0.9999985098838806, 0.0012261199299246073, 0.0008822456002235413, 0.03625313937664032),
(0.0008809082210063934, 0.0009529679082334042, -0.9999989867210388, 1.4485201835632324),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.9244475960731506, 0.03628518804907799, 1.4485450983047485)), 'connect': True}], 'matrix_local': Matrix(((-5.2716157370014116e-05, 0.9999993443489075, 0.0009573897114023566, 0.8721587657928467),
(0.999997615814209, 5.072600833955221e-05, 0.0020536789670586586, 0.03625181317329407),
(0.002053460804745555, 0.0009575197473168373, -0.9999973177909851, 1.4484951496124268),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8983032703399658, 0.03625313192605972, 1.4485201835632324)), 'connect': True}], 'matrix_local': Matrix(((-0.0020305104553699493, 0.9999971985816956, -0.0011455696076154709, 0.8378133177757263),
(0.9999976754188538, 0.002030573785305023, 7.522210944443941e-05, 0.03618207201361656),
(7.737905252724886e-05, -0.0011453910265117884, -0.9999992251396179, 1.4485344886779785),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8721587061882019, 0.03625180572271347, 1.4484951496124268)), 'connect': True}], 'matrix_local': Matrix(((-0.0011904224520549178, 0.9999942779541016, 0.003156606573611498, 0.7970794439315796),
(0.9999986290931702, 0.001187509624287486, 0.0009169162949547172, 0.036133699119091034),
(0.0009129936806857586, 0.0031577185727655888, -0.9999944567680359, 1.4484058618545532),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8378132581710815, 0.036182064563035965, 1.4485344886779785)), 'connect': False}, {'name': 'LeftHandRing1', 'matrix': Matrix(((-0.0015027085319161415, 0.9999943971633911, 0.003070215927436948, 0.7970741391181946),
(0.9999985098838806, 0.0014997655525803566, 0.0009230650030076504, 0.08273345977067947),
(0.0009184540249407291, 0.0030715991742908955, -0.9999948143959045, 1.4507348537445068),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7970741391181946, 0.08273345977067947, 1.4507348537445068)), 'children': [{'name': 'LeftHandRing2', 'matrix': Matrix(((-0.0018655684543773532, 0.9999960064888, -0.0021521204616874456, 0.8330509662628174),
(0.9999980926513672, 0.0018667700933292508, 0.0005479489918798208, 0.0827874168753624),
(0.0005519641563296318, -0.0021510941442102194, -0.9999975562095642, 1.4508453607559204),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8330509662628174, 0.0827874168753624, 1.4508453607559204)), 'children': [{'name': 'LeftHandRing3', 'matrix': Matrix(((-0.0010802637552842498, 0.9999980330467224, 0.0013680106494575739, 0.8595960736274719),
(0.9999984502792358, 0.0010785358026623726, 0.001338308909907937, 0.08283697068691254),
(0.0013368315994739532, 0.0013694537337869406, -0.9999982118606567, 1.4507882595062256),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8595960736274719, 0.08283697068691254, 1.4507882595062256)), 'children': [{'name': 'LeftHandRing4', 'matrix': Matrix(((-0.0016313135856762528, 0.9999973177909851, 0.0013608845183625817, 0.8923263549804688),
(0.9999982714653015, 0.0016303281299769878, 0.0007917266921140254, 0.08287227153778076),
(0.0007895065355114639, 0.0013621734688058496, -0.9999987483024597, 1.4508330821990967),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8923263549804688, 0.08287227153778076, 1.4508330821990967)), 'children': [], 'matrix_local': Matrix(((-0.0016314276726916432, 0.9999976754188538, 0.0013608585577458143, 0.8923264145851135),
(0.9999980926513672, 0.0016303290612995625, 0.0007917264010757208, 0.08287228643894196),
(0.000789336976595223, 0.0013621737016364932, -0.9999985694885254, 1.4508330821990967),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.925056517124176, 0.08292563259601593, 1.4508776664733887)), 'connect': True}], 'matrix_local': Matrix(((-0.001080388785339892, 0.9999983906745911, 0.001367984339594841, 0.8595961332321167),
(0.9999983310699463, 0.0010785359190776944, 0.0013383086770772934, 0.08283698558807373),
(0.0013366623315960169, 0.0013694539666175842, -0.9999980330467224, 1.4507882595062256),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8923263549804688, 0.08287227153778076, 1.4508330821990967)), 'connect': True}], 'matrix_local': Matrix(((-0.0018656088504940271, 0.9999958276748657, -0.0021521456073969603, 0.8330510258674622),
(0.9999978542327881, 0.0018667698604986072, 0.0005479487590491772, 0.08278743177652359),
(0.0005517952376976609, -0.0021510934457182884, -0.9999973773956299, 1.4508453607559204),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8595960736274719, 0.08283697068691254, 1.4507882595062256)), 'connect': True}], 'matrix_local': Matrix(((-0.0015026319306343794, 0.9999940991401672, 0.0030701891519129276, 0.7970741987228394),
(0.999998152256012, 0.001499782083556056, 0.0009230650612153113, 0.08273347467184067),
(0.0009182862122543156, 0.003071596845984459, -0.999994695186615, 1.4507348537445068),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8330509662628174, 0.0827874168753624, 1.4508453607559204)), 'connect': False}, {'name': 'LeftHandPinky1', 'matrix': Matrix(((-0.0009082244941964746, 0.9999980330467224, 0.0018463284941390157, 0.7970709204673767),
(0.9999992251396179, 0.0009065307094715536, 0.0009097800357267261, 0.1048060730099678),
(0.0009081043535843492, 0.0018471531802788377, -0.9999979734420776, 1.4484072923660278),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.7970709204673767, 0.1048060730099678, 1.4484072923660278)), 'children': [{'name': 'LeftHandPinky2', 'matrix': Matrix(((0.0011646480998024344, 0.999997079372406, -0.0021218634210526943, 0.8355347514152527),
(0.9999948740005493, -0.0011583231389522552, 0.0029917436186224222, 0.10484094172716141),
(0.0029892781749367714, -0.0021253370214253664, -0.9999932050704956, 1.4484783411026),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8355347514152527, 0.10484094172716141, 1.4484783411026)), 'children': [{'name': 'LeftHandPinky3', 'matrix': Matrix(((-0.004129756707698107, 0.9999909996986389, 0.0011029243469238281, 0.8561756610870361),
(0.9999887943267822, 0.004132196772843599, -0.0023130462504923344, 0.10481703281402588),
(-0.0023175827227532864, 0.0010933600133284926, -0.9999967217445374, 1.4484344720840454),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8561756610870361, 0.10481703281402588, 1.4484344720840454)), 'children': [{'name': 'LeftHandPinky4', 'matrix': Matrix(((0.00033966501359827816, 0.9999994039535522, 0.0010940921492874622, 0.8777634501457214),
(0.9999976754188538, -0.00034201922244392335, 0.0021558997686952353, 0.10490623861551285),
(0.002156272530555725, 0.0010933572193607688, -0.9999971389770508, 1.4484580755233765),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.8777634501457214, 0.10490623861551285, 1.4484580755233765)), 'children': [], 'matrix_local': Matrix(((0.0003396428655833006, 0.999999463558197, 0.0010940658394247293, 0.8777635097503662),
(0.9999975562095642, -0.0003420186403673142, 0.0021558995358645916, 0.10490625351667404),
(0.0021561039611697197, 0.0010933572193607688, -0.9999970197677612, 1.4484580755233765),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8993514776229858, 0.1048988550901413, 1.4484816789627075)), 'connect': True}], 'matrix_local': Matrix(((-0.004129671026021242, 0.9999909400939941, 0.001102898269891739, 0.8561757206916809),
(0.9999887943267822, 0.004132195375859737, -0.002313046483322978, 0.10481704771518707),
(-0.0023177512921392918, 0.0010933591984212399, -0.9999966621398926, 1.4484344720840454),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8777634501457214, 0.10490623861551285, 1.4484580755233765)), 'connect': True}], 'matrix_local': Matrix(((0.0011646561324596405, 0.999997079372406, -0.002121889963746071, 0.8355348110198975),
(0.9999948143959045, -0.001158323371782899, 0.002991743851453066, 0.1048409566283226),
(0.0029891079757362604, -0.0021253370214253664, -0.9999932050704956, 1.4484783411026),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8561756610870361, 0.10481703281402588, 1.4484344720840454)), 'connect': True}], 'matrix_local': Matrix(((-0.0009081269963644445, 0.9999978542327881, 0.0018462995067238808, 0.7970709800720215),
(0.9999991059303284, 0.0009064304176717997, 0.0009097798611037433, 0.1048060953617096),
(0.0009079357259906828, 0.0018471498042345047, -0.9999977946281433, 1.4484072923660278),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.8355347514152527, 0.10484094172716141, 1.4484783411026)), 'connect': False}], 'matrix_local': Matrix(((-0.08619735389947891, 0.9962509274482727, -0.007347394712269306, 0.703386664390564),
(0.9962767362594604, 0.08620624244213104, 0.0009052008390426636, 0.061748307198286057),
(0.0015350282192230225, -0.0072420015931129456, -0.9999724626541138, 1.4505399465560913),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.7898263335227966, 0.06922797858715057, 1.4499115943908691)), 'connect': True}], 'matrix_local': Matrix(((-0.0011170541401952505, 0.9999856352806091, -0.005228429567068815, 0.41880232095718384),
(0.9854522347450256, 0.001989346696063876, 0.16993965208530426, 0.061182163655757904),
(0.16994747519493103, -0.004962509032338858, -0.9854404926300049, 1.4519522190093994),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.7033866047859192, 0.06174829229712486, 1.4505399465560913)), 'connect': True}], 'matrix_local': Matrix(((-0.03757482022047043, 0.9992643594741821, -0.00765879824757576, 0.12930862605571747),
(0.9902960062026978, 0.038261570036411285, 0.1336025893688202, 0.050097525119781494),
(0.13379721343517303, -0.002564363181591034, -0.9910053014755249, 1.4526951313018799),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.41880232095718384, 0.06118214875459671, 1.4519522190093994)), 'connect': True}], 'matrix_local': Matrix(((-0.23500117659568787, 0.9705716967582703, -0.05258185788989067, 0.05301709100604057),
(0.9556885361671448, 0.24058783054351807, 0.16963700950145721, 0.03118618205189705),
(0.17729532718658447, -0.010386981070041656, -0.984102725982666, 1.4535115957260132),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.12930862605571747, 0.050097521394491196, 1.4526951313018799)), 'connect': False}, {'name': 'RightShoulder', 'matrix': Matrix(((-0.23358400166034698, -0.9709315299987793, 0.05226006358861923, -0.05300942435860634),
(-0.9561647772789001, 0.2391286939382553, 0.16901567578315735, 0.031170738860964775),
(-0.17659947276115417, -0.010489900596439838, -0.9842268228530884, 1.453508734703064),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.05300942435860634, 0.031170738860964775, 1.453508734703064)), 'children': [{'name': 'RightArm', 'matrix': Matrix(((-0.035706836730241776, -0.9993321895599365, 0.007761992514133453, -0.12927542626857758),
(-0.9904415011405945, 0.03642242029309273, 0.1330382376909256, 0.0499541349709034),
(-0.13323211669921875, -0.002937435870990157, -0.9910805225372314, 1.452684760093689),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.12927542626857758, 0.0499541349709034, 1.452684760093689)), 'children': [{'name': 'RightForeArm', 'matrix': Matrix(((-4.7391411499120295e-05, -0.9999866485595703, 0.0052485340274870396, -0.4188023805618286),
(-0.985575795173645, 0.0009348295861855149, 0.169232577085495, 0.06050645187497139),
(-0.16923516988754272, -0.0051648300141096115, -0.9855622053146362, 1.451833724975586),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.4188023805618286, 0.06050645187497139, 1.451833724975586)), 'children': [{'name': 'RightHand', 'matrix': Matrix(((-0.085347481071949, -0.9963221549987793, 0.007603941485285759, -0.7033869624137878),
(-0.9963500499725342, 0.08535660058259964, 0.0008781231008470058, 0.06077249348163605),
(-0.0015239394269883633, -0.007501241285353899, -0.9999707341194153, 1.4503638744354248),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7033869624137878, 0.06077249348163605, 1.4503638744354248)), 'children': [{'name': 'RightHandMiddle1', 'matrix': Matrix(((-0.00037632783642038703, -0.9999935626983643, -0.0036075282841920853, -0.7990332841873169),
(-0.9999995827674866, 0.0003731258329935372, 0.0008830686565488577, 0.06067657843232155),
(-0.000881716376170516, 0.0036078589037060738, -0.9999931454658508, 1.4503207206726074),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7990332841873169, 0.06067657843232155, 1.4503207206726074)), 'children': [{'name': 'RightHandMiddle2', 'matrix': Matrix(((-0.0019680196419358253, -0.9999919533729553, 0.0033901312854140997, -0.8409957885742188),
(-0.9999977350234985, 0.0019657495431602, -0.0007180096581578255, 0.060692235827445984),
(0.000711341155692935, -0.003391535487025976, -0.9999939799308777, 1.450472116470337),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8409957885742188, 0.060692235827445984, 1.450472116470337)), 'children': [{'name': 'RightHandMiddle3', 'matrix': Matrix(((0.00043762687710113823, -0.9999992251396179, -0.001117435866035521, -0.8714346289634705),
(-0.9999984502792358, -0.0004395513387862593, 0.0016969145508483052, 0.06075207144021988),
(-0.0016974041936919093, 0.0011166916228830814, -0.9999979138374329, 1.450368881225586),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8714346289634705, 0.06075207144021988, 1.450368881225586)), 'children': [{'name': 'RightHandMiddle4', 'matrix': Matrix(((0.0003831787907984108, -0.9999993443489075, -0.001097872736863792, -0.9020724892616272),
(-0.9999985694885254, -0.00038508011493831873, 0.001643370371311903, 0.06073860451579094),
(-0.0016437920276075602, 0.0010972416494041681, -0.9999980330467224, 1.450403094291687),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.9020724892616272, 0.06073860451579094, 1.450403094291687)), 'children': [], 'matrix_local': Matrix(((0.00038317646249197423, -0.9999991059303284, -0.0010978624923154712, -0.9020724892616272),
(-0.9999985098838806, -0.00038508008583448827, 0.0016433704877272248, 0.06073860824108124),
(-0.0016436289297416806, 0.0010972414165735245, -0.9999980926513672, 1.450403094291687),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.9327102303504944, 0.06072680652141571, 1.4504367113113403)), 'connect': True}], 'matrix_local': Matrix(((0.00043755563092418015, -0.9999991059303284, -0.001117425737902522, -0.8714346289634705),
(-0.9999983906745911, -0.0004395511350594461, 0.001696914667263627, 0.06075207516551018),
(-0.0016972413286566734, 0.0011166916228830814, -0.9999979734420776, 1.450368881225586),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.9020724892616272, 0.06073860451579094, 1.450403094291687)), 'connect': True}], 'matrix_local': Matrix(((-0.0019682724960148335, -0.9999921321868896, 0.0033901373390108347, -0.8409957885742188),
(-0.9999977946281433, 0.0019657497759908438, -0.0007180098909884691, 0.06069223955273628),
(0.0007115038461051881, -0.0033915345557034016, -0.9999940395355225, 1.450472116470337),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8714346289634705, 0.06075207144021988, 1.450368881225586)), 'connect': True}], 'matrix_local': Matrix(((-0.0003764054272323847, -0.9999932050704956, -0.0036075161769986153, -0.7990332841873169),
(-0.999999463558197, 0.00037312236963771284, 0.0008830685983411968, 0.06067658215761185),
(-0.0008815532200969756, 0.0036078570410609245, -0.9999931454658508, 1.4503207206726074),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8409957885742188, 0.060692235827445984, 1.450472116470337)), 'connect': False}, {'name': 'RightHandThumb1', 'matrix': Matrix(((0.500474214553833, -0.7768704295158386, 0.3820965886116028, -0.7383600473403931),
(-0.865746021270752, -0.4506435692310333, 0.2177247405052185, 0.04048316180706024),
(0.0030454695224761963, -0.4397642910480499, -0.8981080055236816, 1.4333765506744385),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7383600473403931, 0.04048316180706024, 1.4333765506744385)), 'children': [{'name': 'RightHandThumb2', 'matrix': Matrix(((0.5089857578277588, -0.7693295478820801, 0.38608962297439575, -0.7702581882476807),
(-0.8607695698738098, -0.4533345103263855, 0.23143750429153442, 0.02197982743382454),
(-0.003023788332939148, -0.4501325488090515, -0.892956554889679, 1.4153199195861816),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7702581882476807, 0.02197982743382454, 1.4153199195861816)), 'children': [{'name': 'RightHandThumb3', 'matrix': Matrix(((0.4873136579990387, -0.7793761491775513, 0.3938249945640564, -0.8028439879417419),
(-0.8731387853622437, -0.4413019120693207, 0.20707738399505615, 0.0027783438563346863),
(0.012404784560203552, -0.44477540254592896, -0.8955561518669128, 1.396254062652588),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8028439879417419, 0.0027783438563346863, 1.396254062652588)), 'children': [{'name': 'RightHandThumb4', 'matrix': Matrix(((0.5016279220581055, -0.7743138074874878, 0.3857555091381073, -0.826340913772583),
(-0.8650805354118347, -0.450135737657547, 0.22138947248458862, -0.010526193305850029),
(0.0022175759077072144, -0.4447646737098694, -0.8956445455551147, 1.3828448057174683),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.826340913772583, -0.010526193305850029, 1.3828448057174683)), 'children': [], 'matrix_local': Matrix(((0.5016276836395264, -0.7743136286735535, 0.3857555389404297, -0.826340913772583),
(-0.8650805950164795, -0.4501356780529022, 0.22138947248458862, -0.010526186786592007),
(0.002217557281255722, -0.44476479291915894, -0.8956447839736938, 1.3828448057174683),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8496849536895752, -0.0240969005972147, 1.3694360256195068)), 'connect': True}], 'matrix_local': Matrix(((0.4873134195804596, -0.7793759107589722, 0.39382505416870117, -0.8028439879417419),
(-0.8731389045715332, -0.4413019120693207, 0.20707741379737854, 0.002778351306915283),
(0.01240471564233303, -0.44477564096450806, -0.8955562114715576, 1.396254062652588),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.826340913772583, -0.010526193305850029, 1.3828448057174683)), 'connect': True}], 'matrix_local': Matrix(((0.5089854598045349, -0.7693296074867249, 0.386089563369751, -0.7702581882476807),
(-0.8607696890830994, -0.4533345699310303, 0.23143748939037323, 0.021979834884405136),
(-0.0030238572508096695, -0.4501325190067291, -0.8929567337036133, 1.4153199195861816),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8028439879417419, 0.0027783438563346863, 1.396254062652588)), 'connect': True}], 'matrix_local': Matrix(((0.5004739761352539, -0.7768703103065491, 0.382096529006958, -0.7383600473403931),
(-0.8657460808753967, -0.4506435692310333, 0.21772468090057373, 0.04048316925764084),
(0.0030456106178462505, -0.439764142036438, -0.898108184337616, 1.4333765506744385),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.7702581882476807, 0.02197982743382454, 1.4153199195861816)), 'connect': False}, {'name': 'RightHandIndex1', 'matrix': Matrix(((-0.00011380828073015437, -0.9999958276748657, -0.002939137164503336, -0.7990067005157471),
(-0.9999996423721313, 0.00011113534856121987, 0.0008798688650131226, 0.03508102521300316),
(-0.0008795382454991341, 0.0029392377473413944, -0.999995231628418, 1.4481980800628662),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7990067005157471, 0.03508102521300316, 1.4481980800628662)), 'children': [{'name': 'RightHandIndex2', 'matrix': Matrix(((-0.0009932051179930568, -0.9999986886978149, 0.0014364882372319698, -0.8397672176361084),
(-0.9999995231628418, 0.000993118854239583, -4.877801984548569e-06, 0.03508555516600609),
(3.4510158002376556e-06, -0.0014364933595061302, -0.9999989867210388, 1.4483178853988647),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8397672176361084, 0.03508555516600609, 1.4483178853988647)), 'children': [{'name': 'RightHandIndex3', 'matrix': Matrix(((0.0010304367169737816, -0.9999991655349731, -0.0007561974925920367, -0.8741235136985779),
(-0.9999974370002747, -0.0010319064604118466, 0.002021456602960825, 0.0351196750998497),
(-0.0020222351886332035, 0.0007541126688010991, -0.9999976754188538, 1.4482685327529907),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8741235136985779, 0.0351196750998497, 1.4482685327529907)), 'children': [{'name': 'RightHandIndex4', 'matrix': Matrix(((-0.0001026698955683969, -1.0, -0.0007723036105744541, -0.9002065062522888),
(-0.9999996423721313, 0.0001018338807625696, 0.0008898476371541619, 0.035092759877443314),
(-0.0008897685329429805, 0.0007723949383944273, -0.9999992847442627, 1.4482882022857666),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.9002065062522888, 0.035092759877443314, 1.4482882022857666)), 'children': [], 'matrix_local': Matrix(((-0.00010261015268042684, -0.9999995827674866, -0.0007722958689555526, -0.9002065062522888),
(-0.9999995231628418, 0.00010183376434724778, 0.0008898476371541619, 0.03509276360273361),
(-0.0008896053768694401, 0.0007723945309408009, -0.9999992847442627, 1.4482882022857666),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.9262894988059998, 0.03509541600942612, 1.4483083486557007)), 'connect': True}], 'matrix_local': Matrix(((0.0010302899172529578, -0.9999990463256836, -0.0007561896927654743, -0.8741235136985779),
(-0.9999973773956299, -0.0010319058783352375, 0.0020214561372995377, 0.03511967882514),
(-0.002022071275860071, 0.0007541128434240818, -0.9999976754188538, 1.4482685327529907),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.9002065062522888, 0.035092759877443314, 1.4482882022857666)), 'connect': True}], 'matrix_local': Matrix(((-0.0009932140819728374, -0.9999983310699463, 0.0014364952221512794, -0.8397672176361084),
(-0.9999994039535522, 0.0009931186214089394, -4.877685569226742e-06, 0.03508555889129639),
(3.61492857336998e-06, -0.0014364924281835556, -0.999998927116394, 1.4483178853988647),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8741235136985779, 0.0351196750998497, 1.4482685327529907)), 'connect': True}], 'matrix_local': Matrix(((-0.00011384834942873567, -0.9999955296516418, -0.0029391301795840263, -0.7990067005157471),
(-0.9999995231628418, 0.00011117315443698317, 0.0008798690396361053, 0.03508102893829346),
(-0.000879374798387289, 0.002939237281680107, -0.9999952912330627, 1.4481980800628662),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8397672176361084, 0.03508555516600609, 1.4483178853988647)), 'connect': False}, {'name': 'RightHandRing1', 'matrix': Matrix(((-0.00043781488784588873, -0.9999958872795105, -0.0028351512737572193, -0.7990543842315674),
(-0.9999995827674866, 0.0004352796822786331, 0.0008817877387627959, 0.08166951686143875),
(-0.0008805501274764538, 0.00283553684130311, -0.9999955892562866, 1.4505420923233032),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7990543842315674, 0.08166951686143875, 1.4505420923233032)), 'children': [{'name': 'RightHandRing2', 'matrix': Matrix(((-0.000934611598495394, -0.9999964833259583, 0.0023882919922471046, -0.8349994421005249),
(-0.999999463558197, 0.0009355897200293839, 0.0003878877032548189, 0.08168516308069229),
(-0.0003901205491274595, -0.0023879280779510736, -0.9999970197677612, 1.4506440162658691),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8349994421005249, 0.08168516308069229, 1.4506440162658691)), 'children': [{'name': 'RightHandRing3', 'matrix': Matrix(((5.458812302094884e-05, -0.9999995827674866, -0.0011144215241074562, -0.86155766248703),
(-0.9999990463256836, -5.621801392408088e-05, 0.0013741340953856707, 0.08171001076698303),
(-0.0013741955626755953, 0.001114345621317625, -0.9999983906745911, 1.4505805969238281),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.86155766248703, 0.08171001076698303, 1.4505805969238281)), 'children': [{'name': 'RightHandRing4', 'matrix': Matrix(((-0.0005272211274132133, -0.999998927116394, -0.0011175669496878982, -0.8942925930023193),
(-0.999999463558197, 0.0005264439969323575, 0.0007900064811110497, 0.08170817047357559),
(-0.000789417652413249, 0.0011179824359714985, -0.9999990463256836, 1.4506170749664307),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8942925930023193, 0.08170817047357559, 1.4506170749664307)), 'children': [], 'matrix_local': Matrix(((-0.0005274230497889221, -0.9999990463256836, -0.0011175593826919794, -0.8942925930023193),
(-0.9999994039535522, 0.0005264439969323575, 0.0007900065975263715, 0.08170817792415619),
(-0.0007892541470937431, 0.0011179824359714985, -0.9999990463256836, 1.4506170749664307),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.9270276427268982, 0.08172540366649628, 1.4506536722183228)), 'connect': True}], 'matrix_local': Matrix(((5.459006206365302e-05, -0.9999992251396179, -0.0011144140735268593, -0.86155766248703),
(-0.999998927116394, -5.6217668316094205e-05, 0.0013741340953856707, 0.08171001821756363),
(-0.001374032348394394, 0.001114344922825694, -0.9999984502792358, 1.4505805969238281),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8942925930023193, 0.08170817047357559, 1.4506170749664307)), 'connect': True}], 'matrix_local': Matrix(((-0.0009347573504783213, -0.999996542930603, 0.0023882989771664143, -0.8349994421005249),
(-0.9999993443489075, 0.0009355899528600276, 0.00038788776146247983, 0.08168517053127289),
(-0.00038995727663859725, -0.0023879287764430046, -0.999997079372406, 1.4506440162658691),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.86155766248703, 0.08171001076698303, 1.4505805969238281)), 'connect': True}], 'matrix_local': Matrix(((-0.0004378329904284328, -0.9999957084655762, -0.0028351428918540478, -0.7990543842315674),
(-0.9999994039535522, 0.00043523806380108, 0.0008817878551781178, 0.08166952431201935),
(-0.0008803866221569479, 0.0028355345129966736, -0.9999955892562866, 1.4505420923233032),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8349994421005249, 0.08168516308069229, 1.4506440162658691)), 'connect': False}, {'name': 'RightHandPinky1', 'matrix': Matrix(((0.0001740558072924614, -0.9999988079071045, -0.001622703392058611, -0.7990755438804626),
(-0.9999995827674866, -0.00017547907191328704, 0.0008723358041606843, 0.1037946343421936),
(-0.0008726195082999766, 0.0016225512372329831, -0.9999983310699463, 1.4481968879699707),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.7990755438804626, 0.1037946343421936, 1.4481968879699707)), 'children': [{'name': 'RightHandPinky2', 'matrix': Matrix(((0.0022302349098026752, -0.9999951124191284, 0.0022852516267448664, -0.8375004529953003),
(-0.9999932646751404, -0.002223582938313484, 0.0029304418712854385, 0.10378789156675339),
(-0.002925345441326499, -0.002291772747412324, -0.999993085861206, 1.4482592344284058),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8375004529953003, 0.10378789156675339, 1.4482592344284058)), 'children': [{'name': 'RightHandPinky3', 'matrix': Matrix(((-0.003103946102783084, -0.999994695186615, -0.0008135294774547219, -0.8581507802009583),
(-0.9999922513961792, 0.0031059186439961195, -0.0024015093222260475, 0.10374197363853455),
(0.0024040236603468657, 0.0008060690015554428, -0.9999967813491821, 1.448211908340454),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8581507802009583, 0.10374197363853455, 1.448211908340454)), 'children': [{'name': 'RightHandPinky4', 'matrix': Matrix(((0.001491960952989757, -0.9999986886978149, -0.0008259130408987403, -0.8797425627708435),
(-0.9999964833259583, -0.0014937745872884989, 0.0021996432915329933, 0.10380903631448746),
(-0.0022008740343153477, 0.0008226284990087152, -0.9999972581863403, 1.4482293128967285),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.8797425627708435, 0.10380903631448746, 1.4482293128967285)), 'children': [], 'matrix_local': Matrix(((0.00149186619091779, -0.9999984502792358, -0.0008259034366346896, -0.8797425627708435),
(-0.9999964833259583, -0.0014937741216272116, 0.0021996430587023497, 0.10380903631448746),
(-0.0022007108200341463, 0.0008226282079704106, -0.9999972581863403, 1.4482293128967285),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.9013345241546631, 0.10377678275108337, 1.4482470750808716)), 'connect': True}], 'matrix_local': Matrix(((-0.0031040676403790712, -0.9999947547912598, -0.0008135212119668722, -0.8581507802009583),
(-0.999992311000824, 0.0031059193424880505, -0.0024015093222260475, 0.10374197363853455),
(0.0024041866417974234, 0.0008060690015554428, -0.9999968409538269, 1.448211908340454),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8797425627708435, 0.10380903631448746, 1.4482293128967285)), 'connect': True}], 'matrix_local': Matrix(((0.0022301869466900826, -0.9999948143959045, 0.0022852602414786816, -0.8375004529953003),
(-0.9999932646751404, -0.0022235813084989786, 0.0029304414056241512, 0.10378789156675339),
(-0.0029251822270452976, -0.002291771350428462, -0.9999932050704956, 1.4482592344284058),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8581507802009583, 0.10374197363853455, 1.448211908340454)), 'connect': True}], 'matrix_local': Matrix(((0.00017393160669598728, -0.9999985098838806, -0.0016226954758167267, -0.7990755438804626),
(-0.9999995827674866, -0.00017544212460052222, 0.0008723358041606843, 0.1037946343421936),
(-0.0008724558865651488, 0.001622552052140236, -0.9999983906745911, 1.4481968879699707),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.8375004529953003, 0.10378789156675339, 1.4482592344284058)), 'connect': False}], 'matrix_local': Matrix(((-0.08534752577543259, -0.9963220357894897, 0.007603932172060013, -0.7033869624137878),
(-0.9963500499725342, 0.08535653352737427, 0.0008781254291534424, 0.060772500932216644),
(-0.0015237778425216675, -0.007501240819692612, -0.9999707341194153, 1.4503638744354248),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.79134202003479, 0.06830774992704391, 1.4497016668319702)), 'connect': True}], 'matrix_local': Matrix(((-4.73364198114723e-05, -0.9999861121177673, 0.005248550791293383, -0.4188023805618286),
(-0.9855756759643555, 0.0009348299354314804, 0.1692325323820114, 0.06050645932555199),
(-0.1692349761724472, -0.00516482861712575, -0.9855622053146362, 1.451833724975586),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.7033869624137878, 0.06077249348163605, 1.4503638744354248)), 'connect': True}], 'matrix_local': Matrix(((-0.03570682555437088, -0.999332070350647, 0.007762011140584946, -0.12927542626857758),
(-0.9904413223266602, 0.03642243146896362, 0.1330382376909256, 0.0499541349709034),
(-0.13323195278644562, -0.0029374435544013977, -0.9910804629325867, 1.452684760093689),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.4188023805618286, 0.06050645187497139, 1.451833724975586)), 'connect': True}], 'matrix_local': Matrix(((-0.2335839420557022, -0.9709311723709106, 0.05226008966565132, -0.05300942435860634),
(-0.9561647176742554, 0.23912863433361053, 0.16901583969593048, 0.031170740723609924),
(-0.17659951746463776, -0.010489899665117264, -0.9842268228530884, 1.453508734703064),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.12927542626857758, 0.0499541349709034, 1.452684760093689)), 'connect': False}], 'matrix_local': Matrix(((1.0, 2.1444209778564982e-05, 3.5615394153865054e-06, -9.675961791799637e-07),
(-1.2768869055435061e-06, 0.22150298953056335, -0.9751596450805664, 0.01088335458189249),
(-2.1700418074033223e-05, 0.9751595854759216, 0.2215030938386917, 1.3318995237350464),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((2.0770105493284063e-06, 0.04233190789818764, 1.470350742340088)), 'connect': True}], 'matrix_local': Matrix(((1.0, -5.828326621326596e-08, 6.40189136902336e-06, -9.606525281924405e-07),
(6.401891823770711e-06, 1.6439422324765474e-05, -0.9999999403953552, 0.010881396010518074),
(5.817734916035988e-08, 0.9999999403953552, 1.654472725931555e-05, 1.2127633094787598),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-9.675961791799637e-07, 0.01088335458189249, 1.3318995237350464)), 'connect': True}], 'matrix_local': Matrix(((1.0, 6.496691185020609e-08, 3.2505613489774987e-06, -9.678368542154203e-07),
(3.2505556646356126e-06, 8.14559098216705e-05, -0.9999999403953552, 0.010872388258576393),
(-6.523202245034554e-08, 0.9999999403953552, 8.156121475622058e-05, 1.102178931236267),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-9.606525281924405e-07, 0.010881396010518074, 1.2127633094787598)), 'connect': True}, {'name': 'RightUpLeg', 'matrix': Matrix(((-0.9999388456344604, 0.011050610803067684, 0.0006161471828818321, -0.08400873839855194),
(-0.0005962811992503703, 0.0018010775092989206, -0.999998152256012, -0.00147751544136554),
(-0.011051704175770283, -0.9999371767044067, -0.001794268493540585, 0.9458648562431335),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.08400873839855194, -0.00147751544136554, 0.9458648562431335)), 'children': [{'name': 'RightLeg', 'matrix': Matrix(((-0.9996042251586914, -0.004824125673621893, -0.02771584875881672, -0.07979878038167953),
(0.027378415688872337, 0.05976603180170059, -0.9978368282318115, -0.0007913577719591558),
(0.006470159161835909, -0.9982004761695862, -0.05961020290851593, 0.5649181604385376),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.07979878038167953, -0.0007913577719591558, 0.5649181604385376)), 'children': [{'name': 'RightFoot', 'matrix': Matrix(((-0.9975640177726746, 0.059710972011089325, 0.03606264293193817, -0.08189903944730759),
(-0.06841383874416351, -0.7365503311157227, -0.6729139089584351, 0.025228729471564293),
(-0.013618399389088154, -0.6737418174743652, 0.7388412952423096, 0.13033580780029297),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.08189903944730759, 0.025228729471564293, 0.13033580780029297)), 'children': [{'name': 'RightToeBase', 'matrix': Matrix(((-0.9979044198989868, 0.03251637890934944, -0.054913122206926346, -0.07072167098522186),
(-0.03246725723147392, -0.9994711875915527, -0.0017866361886262894, -0.11264703422784805),
(-0.05493903532624245, -1.1597217053349596e-07, 0.9984895586967468, 0.004217252135276794),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((-0.07072167098522186, -0.11264703422784805, 0.004217252135276794)), 'children': [], 'matrix_local': Matrix(((-0.9991218447685242, 0.03251780569553375, -0.054980531334877014, -0.07072167098522186),
(-0.03205510973930359, -0.9995150566101074, -0.001766502857208252, -0.11264701932668686),
(-0.05495751276612282, -1.4901161193847656e-07, 0.9984885454177856, 0.004217237234115601),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.06562206894159317, -0.2693958878517151, 0.004217233974486589)), 'connect': True}], 'matrix_local': Matrix(((-0.998724639415741, 0.05971311032772064, 0.03616870567202568, -0.08189903944730759),
(-0.06803251802921295, -0.7365766763687134, -0.6729690432548523, 0.025228731334209442),
(-0.013539548963308334, -0.6737658977508545, 0.7388206720352173, 0.13033577799797058),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.07072167098522186, -0.11264703422784805, 0.004217252135276794)), 'connect': True}], 'matrix_local': Matrix(((-1.0007654428482056, -0.004824130330234766, -0.02774890512228012, -0.07979878038167953),
(0.027757825329899788, 0.05976608395576477, -0.9978570342063904, -0.0007913571898825467),
(0.006452674511820078, -0.9982011914253235, -0.05960516631603241, 0.5649181008338928),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.08189903944730759, 0.025228729471564293, 0.13033580780029297)), 'connect': True}], 'matrix_local': Matrix(((-1.0011005401611328, 0.011050610803067684, 0.0006162524223327637, -0.08400873839855194),
(-0.00021818227833136916, 0.001801081234589219, -1.0000289678573608, -0.0014775162562727928),
(-0.01105068065226078, -0.9999373555183411, -0.001796478871256113, 0.9458648562431335),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-0.07979878038167953, -0.0007913577719591558, 0.5649181604385376)), 'connect': False}, {'name': 'LeftUpLeg', 'matrix': Matrix(((-0.9999407529830933, -0.01062333956360817, -0.002365179592743516, 0.08401412516832352),
(0.002332452218979597, 0.0030922729056328535, -0.9999924898147583, -0.0014039869420230389),
(0.010630572214722633, -0.9999387264251709, -0.0030672685243189335, 0.9458662867546082),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.08401412516832352, -0.0014039869420230389, 0.9458662867546082)), 'children': [{'name': 'LeftLeg', 'matrix': Matrix(((-0.9995896816253662, 0.004937213379889727, 0.028214165940880775, 0.07996774464845657),
(-0.027876608073711395, 0.05863092467188835, -0.9978904128074646, -0.00022615469060838223),
(-0.006581020541489124, -0.998267650604248, -0.05846923962235451, 0.5649942755699158),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.07996774464845657, -0.00022615469060838223, 0.5649942755699158)), 'children': [{'name': 'LeftFoot', 'matrix': Matrix(((-0.9978333711624146, -0.05588367581367493, -0.0347212478518486, 0.08211763948202133),
(0.06468519568443298, -0.7369289398193359, -0.6728688478469849, 0.025304509326815605),
(0.012015297077596188, -0.673656702041626, 0.7389468550682068, 0.13030162453651428),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.08211763948202133, 0.025304509326815605, 0.13030162453651428)), 'children': [{'name': 'LeftToeBase', 'matrix': Matrix(((-0.9980348348617554, -0.02986840158700943, 0.05172742158174515, 0.07165821641683578),
(0.02982839196920395, -0.9995537996292114, -0.0015456308610737324, -0.11262217909097672),
(0.05174120143055916, 7.429335369124601e-08, 0.9986600875854492, 0.004217222332954407),
(0.0, 0.0, 0.0, 1.0))), 'head': Vector((0.07165821641683578, -0.11262217909097672, 0.004217222332954407)), 'children': [], 'matrix_local': Matrix(((-0.9999059438705444, -0.029873518273234367, 0.05182727426290512, 0.07165821641683578),
(0.028810419142246246, -0.9997251629829407, -0.0014976263046264648, -0.11262217164039612),
(0.05177607387304306, 8.940696716308594e-08, 0.9986586570739746, 0.004217177629470825),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.0669768676161766, -0.269284725189209, 0.004217233974486589)), 'connect': True}], 'matrix_local': Matrix(((-0.9995250701904297, -0.055890344083309174, -0.03487482666969299, 0.08211763948202133),
(0.06371574848890305, -0.7370167970657349, -0.67307448387146, 0.025304507464170456),
(0.011906351894140244, -0.6737369894981384, 0.7388752698898315, 0.1303015649318695),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.07165821641683578, -0.11262217909097672, 0.004217222332954407)), 'connect': True}], 'matrix_local': Matrix(((-1.0012826919555664, 0.004937217570841312, 0.02826574444770813, 0.07996774464845657),
(-0.028862833976745605, 0.05863098427653313, -0.9980040788650513, -0.00022615434136241674),
(-0.006559024099260569, -0.9982686042785645, -0.05845282971858978, 0.564994215965271),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.08211763948202133, 0.025304509326815605, 0.13030162453651428)), 'connect': True}], 'matrix_local': Matrix(((-1.0016347169876099, -0.01062333956360817, -0.0023654401302337646, 0.08401412516832352),
(0.0013507002731785178, 0.0030922770965844393, -1.0001357793807983, -0.0014039883390069008),
(0.010626033879816532, -0.9999388456344604, -0.0030733251478523016, 0.9458662867546082),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((0.07996774464845657, -0.00022615469060838223, 0.5649942755699158)), 'connect': False}], 'matrix_local': Matrix(((1.0, 0.0, 0.0, -9.678368542154203e-07),
(-0.0, -4.570161493688829e-08, -0.9999999403953552, 0.01087239570915699),
(0.0, 0.9999999403953552, 5.960464477539063e-08, 0.9391523003578186),
(0.0, 0.0, 0.0, 1.0))), 'tail': Vector((-9.678368542154203e-07, 0.010872388258576393, 1.102178931236267)), 'connect': False}]
# Add Position for Eyes,