Model with rotation and world coords
This commit is contained in:
759
ModelUE4.py
759
ModelUE4.py
@@ -1,5 +1,7 @@
|
|||||||
# convert mediapipe model to model from Unreal
|
# convert mediapipe model to model from Unreal
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
# element of json
|
# element of json
|
||||||
def makexyzrotvis(x,y,z,rotx,roty,rotz,visible):
|
def makexyzrotvis(x,y,z,rotx,roty,rotz,visible):
|
||||||
ret = {}
|
ret = {}
|
||||||
@@ -21,75 +23,130 @@ def makexyzrotvis(x,y,z,rotx,roty,rotz,visible):
|
|||||||
ret["scale"] = scale
|
ret["scale"] = scale
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
# data["root"] = makexyzrotvis(0., 0., 0., 0., 0., 0., 1.0)
|
||||||
|
# data["pelvis"] = makexyzrotvis(0., -1.056, 96.751, 89.790634, 89.998116, 89.998116, 1.0)
|
||||||
|
# data["hip_l"] = makexyzrotvis(9.006, -0.530, 95.300, 82.760597, 166.295837, 174.753387, 1.0)
|
||||||
|
# data["hip_r"] = makexyzrotvis(-9.006, -0.530, 95.300, -82.760597, -166.295837, -5.246624, 1.0)
|
||||||
|
#
|
||||||
|
# 0 -1.056 96.751
|
||||||
|
# 9.006 0.526 -1.451
|
||||||
|
# −140,941157
|
||||||
|
# 884,094836048
|
||||||
|
# −0,159418595
|
||||||
|
# 99,173151018
|
||||||
|
#
|
||||||
|
# −140,941157
|
||||||
|
# 96,756762746*1,543397875
|
||||||
|
# 160,699319672
|
||||||
|
|
||||||
|
def getAngle(avec0, avec1, bvec0, bvec1):
|
||||||
|
chis = float(avec0*bvec0 + avec1*bvec1)
|
||||||
|
znam1 = float(np.sqrt(pow(avec0, 2) + pow(avec1, 2)))
|
||||||
|
znam2 = float(np.sqrt(pow(bvec0, 2) + pow(bvec1, 2)))
|
||||||
|
return np.arccos(chis / (znam1 * znam2))
|
||||||
|
|
||||||
|
def checkRot(tvec0, tvec1, tvec0_apose, tvec1_apose, rvec_apose, vis):
|
||||||
|
# tvec0 - parent bone by root
|
||||||
|
# tvec1 - current bone by root
|
||||||
|
rvec = [0, 0, 0]
|
||||||
|
|
||||||
|
# rotX
|
||||||
|
var_angle_apose = getAngle(tvec0_apose[1], tvec0_apose[2], tvec1_apose[1], tvec1_apose[2])
|
||||||
|
var_angle = getAngle(tvec0[1], tvec0[2], tvec1[1], tvec1[2])
|
||||||
|
rvec[0] = var_angle - var_angle_apose + rvec_apose[0]
|
||||||
|
if rvec[0] > 180:
|
||||||
|
rvec[0] -= 180
|
||||||
|
if rvec[0] < -180:
|
||||||
|
rvec[0] += 180
|
||||||
|
|
||||||
|
# rotY
|
||||||
|
var_angle_apose = getAngle(tvec0_apose[0], tvec0_apose[2], tvec1_apose[0], tvec1_apose[2])
|
||||||
|
var_angle = getAngle(tvec0[0], tvec0[2], tvec1[0], tvec1[2])
|
||||||
|
rvec[1] = var_angle - var_angle_apose + rvec_apose[1]
|
||||||
|
if rvec[1] > 180:
|
||||||
|
rvec[1] -= 180
|
||||||
|
if rvec[1] < -180:
|
||||||
|
rvec[1] += 180
|
||||||
|
|
||||||
|
# rotZ
|
||||||
|
var_angle_apose = getAngle(tvec0_apose[0], tvec0_apose[1], tvec1_apose[0], tvec1_apose[1])
|
||||||
|
var_angle = getAngle(tvec0[0], tvec0[1], tvec1[0], tvec1[1])
|
||||||
|
rvec[2] = var_angle - var_angle_apose + rvec_apose[2]
|
||||||
|
if rvec[2] > 180:
|
||||||
|
rvec[2] -= 180
|
||||||
|
if rvec[2] < -180:
|
||||||
|
rvec[2] += 180
|
||||||
|
|
||||||
|
return rvec
|
||||||
|
|
||||||
def bodyaposeworld(data):
|
def bodyaposeworld(data):
|
||||||
data["root"] = makexyzrotvis(375.760, -1.704, -304.722, 0., 0., 0., 1.0)
|
data["root"] = makexyzrotvis(0., 0., 0., 0., 0., 0., 1.0)
|
||||||
data["pelvis"] = makexyzrotvis(375.760, -2.760, -207.971, 89.790634, 89.998116, 89.998116, 1.0)
|
data["pelvis"] = makexyzrotvis(0., -1.056, 96.751, 89.790634, 89.998116, 89.998116, 1.0)
|
||||||
data["spine_02"] = makexyzrotvis(375.760, -1.869, -197.166, 82.637939, 90.000107, 90.000107, 1.0)
|
data["spine_02"] = makexyzrotvis(0., -0.165, 107.556, 82.637939, 90.000107, 90.000107, 1.0)
|
||||||
data["spine_04"] = makexyzrotvis(375.760, -3.220, -177.959, 83.298508, -89.999939, -89.999939, 1.0)
|
data["spine_04"] = makexyzrotvis(0., -1.517, 126.763, 83.298508, -89.999939, -89.999939, 1.0)
|
||||||
data["spine_05"] = makexyzrotvis(375.760, -5.202, -164.692, 80.519157, -90., -90., 1.0)
|
data["spine_05"] = makexyzrotvis(0., -3.499, 140.030, 80.519157, -90., -90., 1.0)
|
||||||
data["clavicle_l"] = makexyzrotvis(379.542, -4.465, -152.521, -9.742390, -26.536825, -0.000003, 1.0)
|
data["clavicle_l"] = makexyzrotvis(3.782, -2.761, 152.201, -9.742390, -26.536825, -0.000003, 1.0)
|
||||||
data["shoulder_l"] = makexyzrotvis(393.460, -11.416, -155.192, -49.541229, -6.413618, 3.295939, 1.0)
|
data["shoulder_l"] = makexyzrotvis(17.700, -9.712, 149.530, -49.541229, -6.413618, 3.295939, 1.0)
|
||||||
data["elbow_l"] = makexyzrotvis(413.024, -13.615, -178.277, -33.187275, 30.848158, -28.515471, 1.0)
|
data["elbow_l"] = makexyzrotvis(37.265, -11.911, 126.445, -33.187275, 30.848158, -28.515471, 1.0)
|
||||||
data["hand_l"] = makexyzrotvis(432.406, -2.039, -193.042, -35.172615, 32.751072, -105.931961, 1.0)
|
data["hand_l"] = makexyzrotvis(56.646, -0.335, 111.680, -35.172615, 32.751072, -105.931961, 1.0)
|
||||||
data["index_02_l"] = makexyzrotvis(438.802, 5.063, -200.907, -60.632530, 39.185219, -95.108459, 1.0)
|
data["index_02_l"] = makexyzrotvis(63.042, 6.766, 103.815, -60.632530, 39.185219, -95.108459, 1.0)
|
||||||
data["index_03_l"] = makexyzrotvis(440.432, 6.391, -204.643, -72.604263, 41.145889, -95.530258, 1.0)
|
data["index_03_l"] = makexyzrotvis(64.672, 8.095, 100.079, -72.604263, 41.145889, -95.530258, 1.0)
|
||||||
data["index_04_l"] = makexyzrotvis(441.196, 7.059, -207.882, -63.056412, 41.326263, -94.477684, 1.0)
|
data["index_04_l"] = makexyzrotvis(65.436, 8.762, 96.840, -63.056412, 41.326263, -94.477684, 1.0)
|
||||||
data["middle_02_l"] = makexyzrotvis(440.250, 2.776, -201.240, -58.987339, 31.396336, -101.577202, 1.0)
|
data["middle_02_l"] = makexyzrotvis(64.490, 4.479, 103.481, -58.987339, 31.396336, -101.577202, 1.0)
|
||||||
data["middle_03_l"] = makexyzrotvis(442.291, 4.021, -205.218, -70.486740, 42.113358, -113.470406, 1.0)
|
data["middle_03_l"] = makexyzrotvis(66.531, 5.725, 99.504, -70.486740, 42.113358, -113.470406, 1.0)
|
||||||
data["middle_04_l"] = makexyzrotvis(443.195, 4.839, -208.657, -56.627937, 23.489927, -96.457565, 1.0)
|
data["middle_04_l"] = makexyzrotvis(67.435, 6.542, 96.065, -56.627937, 23.489927, -96.457565, 1.0)
|
||||||
data["pinky_02_l"] = makexyzrotvis(439.785, -1.863, -201.704, -57.221210, 8.494291, -103.297714, 1.0)
|
data["pinky_02_l"] = makexyzrotvis(64.025, -0.159, 103.018, -57.221210, 8.494291, -103.297714, 1.0)
|
||||||
data["pinky_03_l"] = makexyzrotvis(441.697, -1.577, -204.707, -68.397072, 11.974680, -105.215523, 1.0)
|
data["pinky_03_l"] = makexyzrotvis(65.937, 0.127, 100.015, -68.397072, 11.974680, -105.215523, 1.0)
|
||||||
data["pinky_04_l"] = makexyzrotvis(442.772, -1.349, -207.483, -68.031853, 22.739058, -114.804611, 1.0)
|
data["pinky_04_l"] = makexyzrotvis(67.012, 0.355, 97.239, -68.031853, 22.739058, -114.804611, 1.0)
|
||||||
data["ring_02_l"] = makexyzrotvis(440.335, 0.379, -201.683, -60.143337, 23.882196, -110.450768, 1.0)
|
data["ring_02_l"] = makexyzrotvis(64.576, 2.083, 103.039, -60.143337, 23.882196, -110.450768, 1.0)
|
||||||
data["ring_03_l"] = makexyzrotvis(442.352, 1.272, -205.525, -72.950729, 34.323620, -119.597374, 1.0)
|
data["ring_03_l"] = makexyzrotvis(66.592, 2.975, 99.197, -72.950729, 34.323620, -119.597374, 1.0)
|
||||||
data["ring_04_l"] = makexyzrotvis(443.194, 1.847, -208.849, -60.028549, 26.871693, -112.741859, 1.0)
|
data["ring_04_l"] = makexyzrotvis(67.434, 3.550, 95.873, -60.028549, 26.871693, -112.741859, 1.0)
|
||||||
data["thumb_02_l"] = makexyzrotvis(433.238, 2.173, -197.083, -34.138702, 87.683189, -52.981850, 1.0)
|
data["thumb_02_l"] = makexyzrotvis(57.478, 3.876, 107.639, -34.138702, 87.683189, -52.981850, 1.0)
|
||||||
data["thumb_03_l"] = makexyzrotvis(433.367, 5.373, -199.254, -52.094620, 85.939804, -51.473255, 1.0)
|
data["thumb_03_l"] = makexyzrotvis(57.607, 7.077, 105.468, -52.094620, 85.939804, -51.473255, 1.0)
|
||||||
data["thumb_04_l"] = makexyzrotvis(433.544, 7.862, -202.460, -42.125023, 96.831261, -57.027554, 1.0)
|
data["thumb_04_l"] = makexyzrotvis(57.784, 9.566, 102.262, -42.125023, 96.831261, -57.027554, 1.0)
|
||||||
data["lowerarm_twist_01_l"] = makexyzrotvis(423.083, -7.607, -185.940, -33.187275, 30.848158, -28.515471, 1.0)
|
data["lowerarm_twist_01_l"] = makexyzrotvis(47.323, -5.903, 118.782, -33.187275, 30.848158, -28.515471, 1.0)
|
||||||
data["None"] = makexyzrotvis(432.406, -2.039, -193.042, -35.172630, 32.751068, -105.931976, 1.0)
|
data["upperarm_twist_01_l"] = makexyzrotvis(18.023, -9.748, 149.150, -49.541203, -6.413616, 3.295938, 1.0)
|
||||||
data["upperarm_twist_01_l"] = makexyzrotvis(393.783, -11.452, -155.572, -49.541203, -6.413616, 3.295938, 1.0)
|
data["clavicle_r"] = makexyzrotvis(-3.782, -2.761, 152.201, 9.742397, 26.536829, 180., 1.0)
|
||||||
data["clavicle_r"] = makexyzrotvis(371.978, -4.465, -152.521, 9.742397, 26.536829, 180., 1.0)
|
data["shoulder_r"] = makexyzrotvis(-17.700, -9.712, 149.530, 49.541229, 6.413619, -176.704056, 1.0)
|
||||||
data["shoulder_r"] = makexyzrotvis(358.060, -11.416, -155.192, 49.541229, 6.413619, -176.704056, 1.0)
|
data["elbow_r"] = makexyzrotvis(-37.265, -11.911, 126.445, 33.187275, -30.848154, 151.484512, 1.0)
|
||||||
data["elbow_r"] = makexyzrotvis(338.495, -13.615, -178.277, 33.187275, -30.848154, 151.484512, 1.0)
|
data["hand_r"] = makexyzrotvis(-56.646, -0.335, 111.680, 35.172619, -32.751076, 74.068016, 1.0)
|
||||||
data["hand_r"] = makexyzrotvis(319.114, -2.039, -193.042, 35.172619, -32.751076, 74.068016, 1.0)
|
data["index_02_r"] = makexyzrotvis(-63.042, 6.766, 103.815, 60.632515, -39.185219, 84.891525, 1.0)
|
||||||
data["index_02_r"] = makexyzrotvis(312.718, 5.063, -200.907, 60.632515, -39.185219, 84.891525, 1.0)
|
data["index_03_r"] = makexyzrotvis(-64.672, 8.095, 100.078, 72.604263, -41.145885, 84.469742, 1.0)
|
||||||
data["index_03_r"] = makexyzrotvis(311.088, 6.391, -204.644, 72.604263, -41.145885, 84.469742, 1.0)
|
data["index_04_r"] = makexyzrotvis(-65.436, 8.762, 96.840, 63.056419, -41.326252, 85.522316, 1.0)
|
||||||
data["index_04_r"] = makexyzrotvis(310.324, 7.059, -207.882, 63.056419, -41.326252, 85.522316, 1.0)
|
data["middle_02_r"] = makexyzrotvis(-64.490, 4.479, 103.482, 58.987339, -31.396345, 78.422768, 1.0)
|
||||||
data["middle_02_r"] = makexyzrotvis(311.270, 2.776, -201.240, 58.987339, -31.396345, 78.422768, 1.0)
|
data["middle_03_r"] = makexyzrotvis(-66.531, 5.725, 99.504, 70.486748, -42.113411, 66.529549, 1.0)
|
||||||
data["middle_03_r"] = makexyzrotvis(309.229, 4.021, -205.218, 70.486748, -42.113411, 66.529549, 1.0)
|
data["middle_04_r"] = makexyzrotvis(-67.435, 6.542, 96.065, 56.627953, -23.489948, 83.542404, 1.0)
|
||||||
data["middle_04_r"] = makexyzrotvis(308.325, 4.839, -208.657, 56.627953, -23.489948, 83.542404, 1.0)
|
data["pinky_02_r"] = makexyzrotvis(-64.025, -0.159, 103.017, 57.221222, -8.494291, 76.702271, 1.0)
|
||||||
data["pinky_02_r"] = makexyzrotvis(311.735, -1.863, -201.705, 57.221222, -8.494291, 76.702271, 1.0)
|
data["pinky_03_r"] = makexyzrotvis(-65.937, 0.127, 100.015, 68.397110, -11.974666, 74.784508, 1.0)
|
||||||
data["pinky_03_r"] = makexyzrotvis(309.823, -1.577, -204.707, 68.397110, -11.974666, 74.784508, 1.0)
|
data["pinky_04_r"] = makexyzrotvis(-67.013, 0.355, 97.239, 68.031822, -22.739044, 65.195419, 1.0)
|
||||||
data["pinky_04_r"] = makexyzrotvis(308.747, -1.349, -207.483, 68.031822, -22.739044, 65.195419, 1.0)
|
data["ring_02_r"] = makexyzrotvis(-64.576, 2.083, 103.039, 60.143322, -23.882204, 69.549194, 1.0)
|
||||||
data["ring_02_r"] = makexyzrotvis(311.184, 0.379, -201.683, 60.143322, -23.882204, 69.549194, 1.0)
|
data["ring_03_r"] = makexyzrotvis(-66.592, 2.975, 99.197, 72.950775, -34.323681, 60.402596, 1.0)
|
||||||
data["ring_03_r"] = makexyzrotvis(309.168, 1.272, -205.525, 72.950775, -34.323681, 60.402596, 1.0)
|
data["ring_04_r"] = makexyzrotvis(-67.434, 3.550, 95.873, 60.028561, -26.871723, 67.258072, 1.0)
|
||||||
data["ring_04_r"] = makexyzrotvis(308.326, 1.847, -208.849, 60.028561, -26.871723, 67.258072, 1.0)
|
data["thumb_02_r"] = makexyzrotvis(-57.478, 3.877, 107.639, 34.138699, -87.683189, 127.018127, 1.0)
|
||||||
data["thumb_02_r"] = makexyzrotvis(318.282, 2.173, -197.083, 34.138699, -87.683189, 127.018127, 1.0)
|
data["thumb_03_r"] = makexyzrotvis(-57.607, 7.077, 105.467, 52.094624, -85.939819, 128.526718, 1.0)
|
||||||
data["thumb_03_r"] = makexyzrotvis(318.152, 5.373, -199.254, 52.094624, -85.939819, 128.526718, 1.0)
|
data["thumb_04_r"] = makexyzrotvis(-57.784, 9.566, 102.262, 42.125004, -96.831261, 122.972427, 1.0)
|
||||||
data["thumb_04_r"] = makexyzrotvis(317.976, 7.862, -202.460, 42.125004, -96.831261, 122.972427, 1.0)
|
data["lowerarm_twist_01_r"] = makexyzrotvis(-47.324, -5.903, 118.782, 33.187271, -30.848154, 137.974152, 1.0)
|
||||||
data["lowerarm_twist_01_r"] = makexyzrotvis(328.436, -7.607, -185.940, 33.187271, -30.848154, 137.974152, 1.0)
|
data["upperarm_twist_01_r"] = makexyzrotvis(-18.023, -9.748, 149.150, 49.541218, 6.413617, 163.344009, 1.0)
|
||||||
data["upperarm_twist_01_r"] = makexyzrotvis(357.737, -11.452, -155.572, 49.541218, 6.413617, 163.344009, 1.0)
|
data["head"] = makexyzrotvis(0., -5.876, 156.421, 75.972702, 89.999969, 89.999969, 1.0)
|
||||||
data["head"] = makexyzrotvis(375.760, -7.579, -148.301, 75.972702, 89.999969, 89.999969, 1.0)
|
data["head_0"] = makexyzrotvis(0., -3.979, 165.516, 88.678833, -90.000290, -90.000290, 1.0)
|
||||||
data["head_0"] = makexyzrotvis(375.760, -5.683, -139.206, 88.678833, -90.000290, -90.000290, 1.0)
|
data["hip_l"] = makexyzrotvis(9.006, -0.530, 95.300, 82.760597, 166.295837, 174.753387, 1.0)
|
||||||
data["hip_l"] = makexyzrotvis(384.766, -2.234, -209.422, 82.760597, 166.295837, 174.753387, 1.0)
|
data["knee_l"] = makexyzrotvis(14.218, -1.801, 53.067, 80.127579, 114.503563, 117.834335, 1.0)
|
||||||
data["knee_l"] = makexyzrotvis(389.978, -3.505, -251.655, 80.127579, 114.503563, 117.834335, 1.0)
|
data["calf_twist_01_l"] = makexyzrotvis(15.674, -4.996, 32.894, 79.251228, 113.356789, 117.027946, 1.0)
|
||||||
data["calf_twist_01_l"] = makexyzrotvis(391.434, -6.699, -271.828, 79.251228, 113.356789, 117.027946, 1.0)
|
data["ankle_l"] = makexyzrotvis(17.076, -8.072, 13.466, 88.877769, 139.206955, 141.820786, 1.0)
|
||||||
data["ankle_l"] = makexyzrotvis(392.836, -9.776, -291.256, 88.877769, 139.206955, 141.820786, 1.0)
|
data["ball_l"] = makexyzrotvis(17.909, 8.357, 2.812, -2.576805, 87.342842, 90.887283, 1.0)
|
||||||
data["ball_l"] = makexyzrotvis(393.669, 6.653, -301.910, -2.576805, 87.342842, 90.887283, 1.0)
|
data["thigh_twist_01_l"] = makexyzrotvis(11.711, -1.190, 73.382, 82.754990, 165.851181, 168.873581, 1.0)
|
||||||
data["thigh_twist_01_l"] = makexyzrotvis(387.471, -2.893, -231.340, 82.754990, 165.851181, 168.873581, 1.0)
|
data["hip_r"] = makexyzrotvis(-9.006, -0.530, 95.300, -82.760597, -166.295837, -5.246624, 1.0)
|
||||||
data["hip_r"] = makexyzrotvis(366.754, -2.234, -209.422, -82.760597, -166.295837, -5.246624, 1.0)
|
data["knee_r"] = makexyzrotvis(-14.218, -1.801, 53.067, -80.127579, -114.503563, -62.165585, 1.0)
|
||||||
data["knee_r"] = makexyzrotvis(361.542, -3.505, -251.655, -80.127579, -114.503563, -62.165585, 1.0)
|
data["calf_twist_01_r"] = makexyzrotvis(-15.674, -4.996, 32.893, -79.251190, -113.357056, -62.971889, 1.0)
|
||||||
data["calf_twist_01_r"] = makexyzrotvis(360.086, -6.699, -271.828, -79.251190, -113.357056, -62.971889, 1.0)
|
data["ankle_r"] = makexyzrotvis(-17.076, -8.072, 13.466, -88.878120, -139.207230, -38.179173, 1.0)
|
||||||
data["ankle_r"] = makexyzrotvis(358.684, -9.776, -291.256, -88.878120, -139.207230, -38.179173, 1.0)
|
data["ball_r"] = makexyzrotvis(-17.909, 8.357, 2.812, 2.576798, -87.342842, -89.112701, 1.0)
|
||||||
data["ball_r"] = makexyzrotvis(357.851, 6.653, -301.910, 2.576798, -87.342842, -89.112701, 1.0)
|
data["thigh_twist_01_r"] = makexyzrotvis(-11.711, -1.190, 73.382, -82.755020, -165.851059, -11.126723, 1.0)
|
||||||
data["thigh_twist_01_r"] = makexyzrotvis(364.049, -2.893, -231.340, -82.755020, -165.851059, -11.126723, 1.0)
|
data["ik_foot_root"] = makexyzrotvis(0., 0., 0., 0., 0., 0., 1.0)
|
||||||
data["ik_foot_root"] = makexyzrotvis(375.760, -1.704, -304.722, 0., 0., 0., 1.0)
|
data["ik_foot_l"] = makexyzrotvis(17.076, -8.072, 13.466, 88.877769, 139.207169, 141.820999, 1.0)
|
||||||
data["ik_foot_l"] = makexyzrotvis(392.836, -9.776, -291.256, 88.877769, 139.207169, 141.820999, 1.0)
|
data["ik_foot_r"] = makexyzrotvis(-17.076, -8.072, 13.466, -88.877769, -139.207169, -38.178883, 1.0)
|
||||||
data["ik_foot_r"] = makexyzrotvis(358.684, -9.776, -291.256, -88.877769, -139.207169, -38.178883, 1.0)
|
data["ik_hand_root"] = makexyzrotvis(0., 0., 0., 0., 0., 0., 1.0)
|
||||||
data["ik_hand_root"] = makexyzrotvis(375.760, -1.704, -304.722, 0., 0., 0., 1.0)
|
data["ik_hand_gun"] = makexyzrotvis(-56.646, -0.335, 111.680, 35.172623, -32.751068, 74.068031, 1.0)
|
||||||
data["ik_hand_gun"] = makexyzrotvis(319.114, -2.039, -193.042, 35.172623, -32.751068, 74.068031, 1.0)
|
data["ik_hand_l"] = makexyzrotvis(56.646, -0.335, 111.680, -35.172630, 32.751068, -105.931976, 1.0)
|
||||||
data["ik_hand_l"] = makexyzrotvis(432.406, -2.039, -193.042, -35.172630, 32.751068, -105.931976, 1.0)
|
|
||||||
|
|
||||||
def bodyaposelocal(data):
|
def bodyaposelocal(data):
|
||||||
data["root"] = makexyzrotvis(0., 0., 0., 0., 0., 0., 1.0)
|
data["root"] = makexyzrotvis(0., 0., 0., 0., 0., 0., 1.0)
|
||||||
@@ -409,6 +466,212 @@ def bodyconvertlocal(poseslms, data, coef, maxy):
|
|||||||
data["pelvis"]["translation"]["y"] = 0.
|
data["pelvis"]["translation"]["y"] = 0.
|
||||||
data["pelvis"]["translation"]["z"] = dataxyz["pelvis"][2] - dataxyz["root"][2]
|
data["pelvis"]["translation"]["z"] = dataxyz["pelvis"][2] - dataxyz["root"][2]
|
||||||
|
|
||||||
|
def updateValueAPoseWorld(data, dataxyz, parent_name, current_name):
|
||||||
|
tvec0 = [dataxyz[parent_name][0], dataxyz[parent_name][1], dataxyz[parent_name][2]]
|
||||||
|
tvec1 = [dataxyz[current_name][0], dataxyz[current_name][1], dataxyz[current_name][2]]
|
||||||
|
tvec0_apose = [data[parent_name]["translation"]["x"], data[parent_name]["translation"]["y"], data[parent_name]["translation"]["z"]]
|
||||||
|
tvec1_apose = [data[current_name]["translation"]["x"], data[current_name]["translation"]["y"], data[current_name]["translation"]["z"]]
|
||||||
|
rvec_apose = [data[current_name]["rotation"]["rotx"], data[current_name]["rotation"]["roty"], data[current_name]["rotation"]["rotz"]]
|
||||||
|
rvec = checkRot(tvec0, tvec1, tvec0_apose, tvec1_apose, rvec_apose)
|
||||||
|
data[current_name]["translation"]["x"] = dataxyz[current_name][0]
|
||||||
|
data[current_name]["translation"]["y"] = dataxyz[current_name][1]
|
||||||
|
data[current_name]["translation"]["z"] = dataxyz[current_name][2]
|
||||||
|
data[current_name]["rotation"]["rotx"] = rvec[0]
|
||||||
|
data[current_name]["rotation"]["roty"] = rvec[1]
|
||||||
|
data[current_name]["rotation"]["rotz"] = rvec[2]
|
||||||
|
data[current_name]["visible"] = dataxyz[current_name]
|
||||||
|
|
||||||
|
def bodyconvertwithrot(poseslms, data, coef, maxy):
|
||||||
|
dataxyz = {}
|
||||||
|
|
||||||
|
rootx = poseslms[24].x * coef
|
||||||
|
rooty = -poseslms[24].z * coef
|
||||||
|
rootz = -poseslms[24].y * coef
|
||||||
|
rootv = poseslms[24].visibility
|
||||||
|
dataxyz["hip_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[23].x * coef
|
||||||
|
rooty = -poseslms[23].z * coef
|
||||||
|
rootz = -poseslms[23].y * coef
|
||||||
|
rootv = poseslms[23].visibility
|
||||||
|
dataxyz["hip_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = 0.5 * (dataxyz["hip_l"][0] + dataxyz["hip_r"][0])
|
||||||
|
rooty = 0.5 * (dataxyz["hip_l"][1] + dataxyz["hip_r"][1])
|
||||||
|
rootz = -maxy * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["root"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = 0.5 * (dataxyz["hip_l"][0] + dataxyz["hip_r"][0])
|
||||||
|
rooty = 0.5 * (dataxyz["hip_l"][1] + dataxyz["hip_r"][1])
|
||||||
|
rootz = 0.5 * (dataxyz["hip_l"][2] + dataxyz["hip_r"][2])
|
||||||
|
rootv = 0.5 * (dataxyz["hip_l"][3] + dataxyz["hip_r"][3])
|
||||||
|
dataxyz["pelvis"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[12].x * coef
|
||||||
|
rooty = -poseslms[12].z * coef
|
||||||
|
rootz = -poseslms[12].y * coef
|
||||||
|
rootv = poseslms[12].visibility
|
||||||
|
dataxyz["shoulder_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[11].x * coef
|
||||||
|
rooty = -poseslms[11].z * coef
|
||||||
|
rootz = -poseslms[11].y * coef
|
||||||
|
rootv = poseslms[11].visibility
|
||||||
|
dataxyz["shoulder_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = 0.5 * (dataxyz["shoulder_l"][0] + dataxyz["shoulder_r"][0])
|
||||||
|
rooty = 0.5 * (dataxyz["shoulder_l"][1] + dataxyz["shoulder_r"][1])
|
||||||
|
rootz = -poseslms[0].y * coef * 0.3 + 0.35 * (dataxyz["shoulder_l"][2] + dataxyz["shoulder_r"][2])
|
||||||
|
rootv = poseslms[0].visibility
|
||||||
|
dataxyz["head"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.044113 * dataxyz["head"][0] + 0.955887 * dataxyz["pelvis"][0])
|
||||||
|
rooty = (0.044113 * dataxyz["head"][1] + 0.955887 * dataxyz["pelvis"][1])
|
||||||
|
rootz = (0.044113 * dataxyz["head"][2] + 0.955887 * dataxyz["pelvis"][2])
|
||||||
|
rootv = (0.044113 * dataxyz["head"][3] + 0.955887 * dataxyz["pelvis"][3])
|
||||||
|
data["spine_01"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["spine_01"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.135799 * dataxyz["head"][0] + 0.864201 * dataxyz["pelvis"][0])
|
||||||
|
rooty = (0.135799 * dataxyz["head"][1] + 0.864201 * dataxyz["pelvis"][1])
|
||||||
|
rootz = (0.135799 * dataxyz["head"][2] + 0.864201 * dataxyz["pelvis"][2])
|
||||||
|
rootv = (0.135799 * dataxyz["head"][3] + 0.864201 * dataxyz["pelvis"][3])
|
||||||
|
dataxyz["spine_02"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.282213 * dataxyz["head"][0] + 0.717787 * dataxyz["pelvis"][0])
|
||||||
|
rooty = (0.282213 * dataxyz["head"][1] + 0.717787 * dataxyz["pelvis"][1])
|
||||||
|
rootz = (0.282213 * dataxyz["head"][2] + 0.717787 * dataxyz["pelvis"][2])
|
||||||
|
rootv = (0.282213 * dataxyz["head"][3] + 0.717787 * dataxyz["pelvis"][3])
|
||||||
|
data["spine_03"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["spine_03"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.451594 * dataxyz["head"][0] + 0.548406 * dataxyz["pelvis"][0])
|
||||||
|
rooty = (0.451594 * dataxyz["head"][1] + 0.548406 * dataxyz["pelvis"][1])
|
||||||
|
rootz = (0.451594 * dataxyz["head"][2] + 0.548406 * dataxyz["pelvis"][2])
|
||||||
|
rootv = (0.451594 * dataxyz["head"][3] + 0.548406 * dataxyz["pelvis"][3])
|
||||||
|
dataxyz["spine_04"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.771025 * dataxyz["head"][0] + 0.228975 * dataxyz["pelvis"][0])
|
||||||
|
rooty = (0.771025 * dataxyz["head"][1] + 0.228975 * dataxyz["pelvis"][1])
|
||||||
|
rootz = (0.771025 * dataxyz["head"][2] + 0.228975 * dataxyz["pelvis"][2])
|
||||||
|
rootv = (0.771025 * dataxyz["head"][3] + 0.228975 * dataxyz["pelvis"][3])
|
||||||
|
dataxyz["spine_05"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.635 * dataxyz["shoulder_r"][0] + 0.365 * dataxyz["shoulder_l"][0])
|
||||||
|
rooty = 0.5 * (
|
||||||
|
0.635 * dataxyz["shoulder_r"][1] + 0.365 * dataxyz["shoulder_l"][1] + 0.31 * dataxyz["head"][1] + 0.69 *
|
||||||
|
dataxyz["spine_05"][1])
|
||||||
|
rootz = (0.0635 * dataxyz["shoulder_r"][2] + 0.0365 * dataxyz["shoulder_l"][2] + 0.9 * dataxyz["spine_05"][2])
|
||||||
|
rootv = (0.635 * dataxyz["shoulder_r"][3] + 0.451594 * dataxyz["shoulder_l"][3])
|
||||||
|
dataxyz["clavicle_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.635 * dataxyz["shoulder_l"][0] + 0.365 * dataxyz["shoulder_r"][0])
|
||||||
|
rooty = 0.5 * (
|
||||||
|
0.635 * dataxyz["shoulder_l"][1] + 0.365 * dataxyz["shoulder_r"][1] + 0.31 * dataxyz["head"][1] + 0.69 *
|
||||||
|
dataxyz["spine_05"][1])
|
||||||
|
rootz = (0.0635 * dataxyz["shoulder_l"][2] + 0.0365 * dataxyz["shoulder_r"][2] + 0.9 * dataxyz["spine_05"][2])
|
||||||
|
rootv = (0.635 * dataxyz["shoulder_l"][3] + 0.365 * dataxyz["shoulder_r"][3])
|
||||||
|
dataxyz["clavicle_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[16].x * coef
|
||||||
|
rooty = -poseslms[16].z * coef
|
||||||
|
rootz = -poseslms[16].y * coef
|
||||||
|
rootv = poseslms[16].visibility
|
||||||
|
dataxyz["hand_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[15].x * coef
|
||||||
|
rooty = -poseslms[15].z * coef
|
||||||
|
rootz = -poseslms[15].y * coef
|
||||||
|
rootv = poseslms[15].visibility
|
||||||
|
dataxyz["hand_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[14].x * coef
|
||||||
|
rooty = -poseslms[14].z * coef
|
||||||
|
rootz = -poseslms[14].y * coef
|
||||||
|
rootv = poseslms[14].visibility
|
||||||
|
dataxyz["elbow_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[13].x * coef
|
||||||
|
rooty = -poseslms[13].z * coef
|
||||||
|
rootz = -poseslms[13].y * coef
|
||||||
|
rootv = poseslms[13].visibility
|
||||||
|
dataxyz["elbow_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[26].x * coef
|
||||||
|
rooty = -poseslms[26].z * coef
|
||||||
|
rootz = -poseslms[26].y * coef
|
||||||
|
rootv = poseslms[26].visibility
|
||||||
|
dataxyz["knee_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[25].x * coef
|
||||||
|
rooty = -poseslms[25].z * coef
|
||||||
|
rootz = -poseslms[25].y * coef
|
||||||
|
rootv = poseslms[25].visibility
|
||||||
|
dataxyz["knee_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[28].x * coef
|
||||||
|
rooty = -poseslms[28].z * coef
|
||||||
|
rootz = -poseslms[28].y * coef
|
||||||
|
rootv = poseslms[28].visibility
|
||||||
|
dataxyz["ankle_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[27].x * coef
|
||||||
|
rooty = -poseslms[27].z * coef
|
||||||
|
rootz = -poseslms[27].y * coef
|
||||||
|
rootv = poseslms[27].visibility
|
||||||
|
dataxyz["ankle_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[32].x * coef
|
||||||
|
rooty = -poseslms[32].z * coef
|
||||||
|
rootz = -poseslms[32].y * coef
|
||||||
|
rootv = poseslms[32].visibility
|
||||||
|
dataxyz["ball_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[31].x * coef
|
||||||
|
rooty = -poseslms[31].z * coef
|
||||||
|
rootz = -poseslms[31].y * coef
|
||||||
|
rootv = poseslms[31].visibility
|
||||||
|
dataxyz["ball_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[30].x * coef
|
||||||
|
rooty = -poseslms[30].z * coef
|
||||||
|
rootz = -poseslms[30].y * coef
|
||||||
|
rootv = poseslms[30].visibility
|
||||||
|
data["heel_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["heel_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = poseslms[29].x * coef
|
||||||
|
rooty = -poseslms[29].z * coef
|
||||||
|
rootz = -poseslms[29].y * coef
|
||||||
|
rootv = poseslms[29].visibility
|
||||||
|
data["heel_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["heel_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "elbow_r", "hand_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "elbow_l", "hand_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "shoulder_r", "elbow_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "shoulder_l", "elbow_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "clavicle_r", "shoulder_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "clavicle_l", "shoulder_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "spine_05", "clavicle_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "spine_05", "clavicle_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "head", "clavicle_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "spine_04", "spine_05")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "spine_02", "spine_04")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pelvis", "spine_02")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ankle_l", "ball_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ball_r", "ankle_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ankle_l", "heel_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ankle_r", "heel_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "knee_l", "ankle_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "knee_r", "ankle_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "hip_l", "knee_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "hip_r", "knee_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pelvis", "hip_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pelvis", "hip_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "root", "pelvis")
|
||||||
|
|
||||||
def bodyconvert(poseslms, data, coef, maxy):
|
def bodyconvert(poseslms, data, coef, maxy):
|
||||||
dataxyz = {}
|
dataxyz = {}
|
||||||
|
|
||||||
@@ -580,6 +843,366 @@ def bodyconvert(poseslms, data, coef, maxy):
|
|||||||
data["elbow_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
data["elbow_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
dataxyz["elbow_l"] = [rootx, rooty, rootz, rootv]
|
dataxyz["elbow_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
def bonetranslation(data, bone_name, tvec):
|
||||||
|
data[bone_name]["translation"]["x"] += tvec[0]
|
||||||
|
data[bone_name]["translation"]["y"] += tvec[1]
|
||||||
|
data[bone_name]["translation"]["z"] += tvec[2]
|
||||||
|
|
||||||
|
def rhandconverttranslation(data):
|
||||||
|
tvec = [data["hand_r"]["translation"]["x"], data["hand_r"]["translation"]["y"], data["hand_r"]["translation"]["z"]]
|
||||||
|
|
||||||
|
bonetranslation(data, "pinky_4_r", tvec)
|
||||||
|
bonetranslation(data, "pinky_3_r", tvec)
|
||||||
|
bonetranslation(data, "pinky_2_r", tvec)
|
||||||
|
bonetranslation(data, "middle_4_r", tvec)
|
||||||
|
bonetranslation(data, "middle_3_r", tvec)
|
||||||
|
bonetranslation(data, "middle_2_r", tvec)
|
||||||
|
bonetranslation(data, "index_4_r", tvec)
|
||||||
|
bonetranslation(data, "index_3_r", tvec)
|
||||||
|
bonetranslation(data, "index_2_r", tvec)
|
||||||
|
bonetranslation(data, "thumb_3_r", tvec)
|
||||||
|
bonetranslation(data, "thumb_2_r", tvec)
|
||||||
|
bonetranslation(data, "thumb_1_r", tvec)
|
||||||
|
bonetranslation(data, "ring_4_r", tvec)
|
||||||
|
bonetranslation(data, "ring_3_r", tvec)
|
||||||
|
bonetranslation(data, "ring_2_r", tvec)
|
||||||
|
bonetranslation(data, "hand_r", tvec)
|
||||||
|
|
||||||
|
def lhandconverttranslation(data):
|
||||||
|
tvec = [data["hand_l"]["translation"]["x"], data["hand_l"]["translation"]["y"], data["hand_l"]["translation"]["z"]]
|
||||||
|
|
||||||
|
bonetranslation(data, "pinky_4_l", tvec)
|
||||||
|
bonetranslation(data, "pinky_3_l", tvec)
|
||||||
|
bonetranslation(data, "pinky_2_l", tvec)
|
||||||
|
bonetranslation(data, "middle_4_l", tvec)
|
||||||
|
bonetranslation(data, "middle_3_l", tvec)
|
||||||
|
bonetranslation(data, "middle_2_l", tvec)
|
||||||
|
bonetranslation(data, "index_4_l", tvec)
|
||||||
|
bonetranslation(data, "index_3_l", tvec)
|
||||||
|
bonetranslation(data, "index_2_l", tvec)
|
||||||
|
bonetranslation(data, "thumb_3_l", tvec)
|
||||||
|
bonetranslation(data, "thumb_2_l", tvec)
|
||||||
|
bonetranslation(data, "thumb_1_l", tvec)
|
||||||
|
bonetranslation(data, "ring_4_l", tvec)
|
||||||
|
bonetranslation(data, "ring_3_l", tvec)
|
||||||
|
bonetranslation(data, "ring_2_l", tvec)
|
||||||
|
bonetranslation(data, "hand_l", tvec)
|
||||||
|
|
||||||
|
def updateValueAPoseWorldForHands(data, dataxyz, data_apose, parent_name, current_name):
|
||||||
|
tvec0 = [dataxyz[parent_name][0], dataxyz[parent_name][1], dataxyz[parent_name][2]]
|
||||||
|
tvec1 = [dataxyz[current_name][0], dataxyz[current_name][1], dataxyz[current_name][2]]
|
||||||
|
tvec0_apose = [data_apose[parent_name]["translation"]["x"], data_apose[parent_name]["translation"]["y"], data_apose[parent_name]["translation"]["z"]]
|
||||||
|
tvec1_apose = [data[current_name]["translation"]["x"], data[current_name]["translation"]["y"], data[current_name]["translation"]["z"]]
|
||||||
|
rvec_apose = [data[current_name]["rotation"]["rotx"], data[current_name]["rotation"]["roty"], data[current_name]["rotation"]["rotz"]]
|
||||||
|
rvec = checkRot(tvec0, tvec1, tvec0_apose, tvec1_apose, rvec_apose)
|
||||||
|
data[current_name]["translation"]["x"] = dataxyz[current_name][0]
|
||||||
|
data[current_name]["translation"]["y"] = dataxyz[current_name][1]
|
||||||
|
data[current_name]["translation"]["z"] = dataxyz[current_name][2]
|
||||||
|
data[current_name]["rotation"]["rotx"] = rvec[0]
|
||||||
|
data[current_name]["rotation"]["roty"] = rvec[1]
|
||||||
|
data[current_name]["rotation"]["rotz"] = rvec[2]
|
||||||
|
data[current_name]["visible"] = dataxyz[current_name]
|
||||||
|
|
||||||
|
def rhandconvertwithrot(rhandlms, data, coef):
|
||||||
|
dataxyz = {}
|
||||||
|
data_apose = {}
|
||||||
|
bodyaposeworld(data_apose)
|
||||||
|
|
||||||
|
rootx = rhandlms[0].x * coef
|
||||||
|
rooty = -rhandlms[0].z * coef
|
||||||
|
rootz = -rhandlms[0].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["hand_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[5].x * coef
|
||||||
|
rooty = -rhandlms[5].z * coef
|
||||||
|
rootz = -rhandlms[5].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["index_2_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["index_2_r"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["index_2_r"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["index_2_r"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["index_1_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["index_1_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[9].x * coef
|
||||||
|
rooty = -rhandlms[9].z * coef
|
||||||
|
rootz = -rhandlms[9].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["middle_2_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["middle_2_r"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["middle_2_r"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["middle_2_r"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["middle_1_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["middle_1_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[13].x * coef
|
||||||
|
rooty = -rhandlms[13].z * coef
|
||||||
|
rootz = -rhandlms[13].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["ring_2_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["ring_2_r"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["ring_2_r"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["ring_2_r"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["ring_1_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["ring_1_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[17].x * coef
|
||||||
|
rooty = -rhandlms[17].z * coef
|
||||||
|
rootz = -rhandlms[17].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["pinky_2_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["pinky_2_r"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["pinky_2_r"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["pinky_2_r"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["pinky_1_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["pinky_1_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[1].x * coef
|
||||||
|
rooty = -rhandlms[1].z * coef
|
||||||
|
rootz = -rhandlms[1].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
data["thumb_1_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["thumb_1_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[2].x * coef
|
||||||
|
rooty = -rhandlms[2].z * coef
|
||||||
|
rootz = -rhandlms[2].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["thumb_2_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[3].x * coef
|
||||||
|
rooty = -rhandlms[3].z * coef
|
||||||
|
rootz = -rhandlms[3].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["thumb_3_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[6].x * coef
|
||||||
|
rooty = -rhandlms[6].z * coef
|
||||||
|
rootz = -rhandlms[6].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["index_3_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[7].x * coef
|
||||||
|
rooty = -rhandlms[7].z * coef
|
||||||
|
rootz = -rhandlms[7].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["index_4_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[10].x * coef
|
||||||
|
rooty = -rhandlms[10].z * coef
|
||||||
|
rootz = -rhandlms[10].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["middle_3_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[11].x * coef
|
||||||
|
rooty = -rhandlms[11].z * coef
|
||||||
|
rootz = -rhandlms[11].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["middle_4_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[14].x * coef
|
||||||
|
rooty = -rhandlms[14].z * coef
|
||||||
|
rootz = -rhandlms[14].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["ring_3_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[15].x * coef
|
||||||
|
rooty = -rhandlms[15].z * coef
|
||||||
|
rootz = -rhandlms[15].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["ring_4_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[18].x * coef
|
||||||
|
rooty = -rhandlms[18].z * coef
|
||||||
|
rootz = -rhandlms[18].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["pinky_3_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[19].x * coef
|
||||||
|
rooty = -rhandlms[19].z * coef
|
||||||
|
rootz = -rhandlms[19].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["pinky_4_r"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pinky_3_r", "pinky_4_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pinky_2_r", "pinky_3_r")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_r", "pinky_2_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "middle_3_r", "middle_4_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "middle_2_r", "middle_3_r")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_r", "middle_2_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "index_3_r", "index_4_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "index_2_r", "index_3_r")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_r", "index_2_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "thumb_2_r", "thumb_3_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "thumb_1_r", "thumb_2_r")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_r", "thumb_1_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ring_3_r", "ring_4_r")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ring_2_r", "ring_3_r")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_r", "ring_2_r")
|
||||||
|
|
||||||
|
data["hand_r"]["translation"]["x"] = dataxyz["hand_r"][0]
|
||||||
|
data["hand_r"]["translation"]["y"] = dataxyz["hand_r"][1]
|
||||||
|
data["hand_r"]["translation"]["z"] = dataxyz["hand_r"][2]
|
||||||
|
|
||||||
|
def lhandconvertwithrot(rhandlms, data, coef):
|
||||||
|
dataxyz = {}
|
||||||
|
data_apose = {}
|
||||||
|
bodyaposeworld(data_apose)
|
||||||
|
|
||||||
|
rootx = rhandlms[0].x * coef
|
||||||
|
rooty = -rhandlms[0].z * coef
|
||||||
|
rootz = -rhandlms[0].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["hand_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[5].x * coef
|
||||||
|
rooty = -rhandlms[5].z * coef
|
||||||
|
rootz = -rhandlms[5].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["index_2_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["index_2_l"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["index_2_l"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["index_2_l"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["index_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["index_1_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[9].x * coef
|
||||||
|
rooty = -rhandlms[9].z * coef
|
||||||
|
rootz = -rhandlms[9].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["middle_2_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["middle_2_l"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["middle_2_l"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["middle_2_l"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["middle_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["middle_1_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[13].x * coef
|
||||||
|
rooty = -rhandlms[13].z * coef
|
||||||
|
rootz = -rhandlms[13].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["ring_2_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["ring_2_l"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["ring_2_l"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["ring_2_l"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["ring_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["ring_1_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[17].x * coef
|
||||||
|
rooty = -rhandlms[17].z * coef
|
||||||
|
rootz = -rhandlms[17].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["pinky_2_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["pinky_2_l"][0])
|
||||||
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["pinky_2_l"][1])
|
||||||
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["pinky_2_l"][2])
|
||||||
|
rootv = 1.0
|
||||||
|
data["pinky_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["pinky_1_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[1].x * coef
|
||||||
|
rooty = -rhandlms[1].z * coef
|
||||||
|
rootz = -rhandlms[1].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
data["thumb_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
||||||
|
dataxyz["thumb_1_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[2].x * coef
|
||||||
|
rooty = -rhandlms[2].z * coef
|
||||||
|
rootz = -rhandlms[2].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["thumb_2_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[3].x * coef
|
||||||
|
rooty = -rhandlms[3].z * coef
|
||||||
|
rootz = -rhandlms[3].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["thumb_3_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[6].x * coef
|
||||||
|
rooty = -rhandlms[6].z * coef
|
||||||
|
rootz = -rhandlms[6].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["index_3_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[7].x * coef
|
||||||
|
rooty = -rhandlms[7].z * coef
|
||||||
|
rootz = -rhandlms[7].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["index_4_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[10].x * coef
|
||||||
|
rooty = -rhandlms[10].z * coef
|
||||||
|
rootz = -rhandlms[10].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["middle_3_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[11].x * coef
|
||||||
|
rooty = -rhandlms[11].z * coef
|
||||||
|
rootz = -rhandlms[11].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["middle_4_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[14].x * coef
|
||||||
|
rooty = -rhandlms[14].z * coef
|
||||||
|
rootz = -rhandlms[14].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["ring_3_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[15].x * coef
|
||||||
|
rooty = -rhandlms[15].z * coef
|
||||||
|
rootz = -rhandlms[15].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["ring_4_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[18].x * coef
|
||||||
|
rooty = -rhandlms[18].z * coef
|
||||||
|
rootz = -rhandlms[18].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["pinky_3_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
rootx = rhandlms[19].x * coef
|
||||||
|
rooty = -rhandlms[19].z * coef
|
||||||
|
rootz = -rhandlms[19].y * coef
|
||||||
|
rootv = 1.0
|
||||||
|
dataxyz["pinky_4_l"] = [rootx, rooty, rootz, rootv]
|
||||||
|
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pinky_3_l", "pinky_4_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "pinky_2_l", "pinky_3_l")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_l", "pinky_2_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "middle_3_l", "middle_4_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "middle_2_l", "middle_3_l")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_l", "middle_2_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "index_3_l", "index_4_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "index_2_l", "index_3_l")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_l", "index_2_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "thumb_2_l", "thumb_3_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "thumb_1_l", "thumb_2_l")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_l", "thumb_1_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ring_3_l", "ring_4_l")
|
||||||
|
updateValueAPoseWorld(data, dataxyz, "ring_2_l", "ring_3_l")
|
||||||
|
updateValueAPoseWorldForHands(data, dataxyz, data_apose, "hand_l", "ring_2_l")
|
||||||
|
|
||||||
|
data["hand_l"]["translation"]["x"] = dataxyz["hand_l"][0]
|
||||||
|
data["hand_l"]["translation"]["y"] = dataxyz["hand_l"][1]
|
||||||
|
data["hand_l"]["translation"]["z"] = dataxyz["hand_l"][2]
|
||||||
|
|
||||||
def rhandconvert(rhandlms, data, coef):
|
def rhandconvert(rhandlms, data, coef):
|
||||||
dataxyz = {}
|
dataxyz = {}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ scale_pose: 42.0 # shoulder width
|
|||||||
crop_image: 1.0 # coefficient of image cropping
|
crop_image: 1.0 # coefficient of image cropping
|
||||||
|
|
||||||
# OSC output
|
# OSC output
|
||||||
osc_address: "localhost" # osc ip address
|
osc_address: "127.0.0.1" # osc ip address
|
||||||
osc_port: 7777 # port
|
osc_port: 7777 # port
|
||||||
osc_message_address: "/pose/0" # osc address for message in send_message function
|
osc_message_address: "/pose/0" # osc address for message in send_message function
|
||||||
|
|
||||||
@@ -16,5 +16,5 @@ mirror_image: True # horizontal image mirroring just for show
|
|||||||
show_image: True # show image in opencv interface
|
show_image: True # show image in opencv interface
|
||||||
|
|
||||||
# Model UE4
|
# Model UE4
|
||||||
apose: True # APose coordinates
|
apose: False # APose coordinates
|
||||||
world: True # True - world coordinates, False - local coordinates
|
world: True # True - world coordinates, False - local coordinates
|
||||||
|
|||||||
@@ -1,68 +1,67 @@
|
|||||||
root ['Translation:', 'X=375.760', 'Y=-1.704', 'Z=-304.722', 'Rotation:', 'P=0.000000', 'Y=0.000000', 'R=0.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
root ['Translation:', 'X=0.000', 'Y=0.000', 'Z=0.000', 'Rotation:', 'P=0.000000', 'Y=0.000000', 'R=0.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pelvis ['Translation:', 'X=375.760', 'Y=-2.760', 'Z=-207.971', 'Rotation:', 'P=89.790634', 'Y=89.998116', 'R=89.998116', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pelvis ['Translation:', 'X=0.000', 'Y=-1.056', 'Z=96.751', 'Rotation:', 'P=89.790634', 'Y=89.998116', 'R=89.998116', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
spine_02 ['Translation:', 'X=375.760', 'Y=-1.869', 'Z=-197.166', 'Rotation:', 'P=82.637939', 'Y=90.000107', 'R=90.000107', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
spine_02 ['Translation:', 'X=0.000', 'Y=-0.165', 'Z=107.556', 'Rotation:', 'P=82.637939', 'Y=90.000107', 'R=90.000107', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
spine_04 ['Translation:', 'X=375.760', 'Y=-3.220', 'Z=-177.959', 'Rotation:', 'P=83.298508', 'Y=-89.999939', 'R=-89.999939', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
spine_04 ['Translation:', 'X=-0.000', 'Y=-1.517', 'Z=126.763', 'Rotation:', 'P=83.298508', 'Y=-89.999939', 'R=-89.999939', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
spine_05 ['Translation:', 'X=375.760', 'Y=-5.202', 'Z=-164.692', 'Rotation:', 'P=80.519157', 'Y=-90.000000', 'R=-90.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
spine_05 ['Translation:', 'X=-0.000', 'Y=-3.499', 'Z=140.030', 'Rotation:', 'P=80.519157', 'Y=-90.000000', 'R=-90.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
clavicle_l ['Translation:', 'X=379.542', 'Y=-4.465', 'Z=-152.521', 'Rotation:', 'P=-9.742390', 'Y=-26.536825', 'R=-0.000003', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
clavicle_l ['Translation:', 'X=3.782', 'Y=-2.761', 'Z=152.201', 'Rotation:', 'P=-9.742390', 'Y=-26.536825', 'R=-0.000003', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
shoulder_l ['Translation:', 'X=393.460', 'Y=-11.416', 'Z=-155.192', 'Rotation:', 'P=-49.541229', 'Y=-6.413618', 'R=3.295939', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
shoulder_l ['Translation:', 'X=17.700', 'Y=-9.712', 'Z=149.530', 'Rotation:', 'P=-49.541229', 'Y=-6.413618', 'R=3.295939', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
elbow_l ['Translation:', 'X=413.024', 'Y=-13.615', 'Z=-178.277', 'Rotation:', 'P=-33.187275', 'Y=30.848158', 'R=-28.515471', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
elbow_l ['Translation:', 'X=37.265', 'Y=-11.911', 'Z=126.445', 'Rotation:', 'P=-33.187275', 'Y=30.848158', 'R=-28.515471', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
hand_l ['Translation:', 'X=432.406', 'Y=-2.039', 'Z=-193.042', 'Rotation:', 'P=-35.172615', 'Y=32.751072', 'R=-105.931961', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
hand_l ['Translation:', 'X=56.646', 'Y=-0.335', 'Z=111.680', 'Rotation:', 'P=-35.172615', 'Y=32.751072', 'R=-105.931961', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
index_02_l ['Translation:', 'X=438.802', 'Y=5.063', 'Z=-200.907', 'Rotation:', 'P=-60.632530', 'Y=39.185219', 'R=-95.108459', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
index_02_l ['Translation:', 'X=63.042', 'Y=6.766', 'Z=103.815', 'Rotation:', 'P=-60.632530', 'Y=39.185219', 'R=-95.108459', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
index_03_l ['Translation:', 'X=440.432', 'Y=6.391', 'Z=-204.643', 'Rotation:', 'P=-72.604263', 'Y=41.145889', 'R=-95.530258', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
index_03_l ['Translation:', 'X=64.672', 'Y=8.095', 'Z=100.079', 'Rotation:', 'P=-72.604263', 'Y=41.145889', 'R=-95.530258', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
index_04_l ['Translation:', 'X=441.196', 'Y=7.059', 'Z=-207.882', 'Rotation:', 'P=-63.056412', 'Y=41.326263', 'R=-94.477684', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
index_04_l ['Translation:', 'X=65.436', 'Y=8.762', 'Z=96.840', 'Rotation:', 'P=-63.056412', 'Y=41.326263', 'R=-94.477684', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
middle_02_l ['Translation:', 'X=440.250', 'Y=2.776', 'Z=-201.240', 'Rotation:', 'P=-58.987339', 'Y=31.396336', 'R=-101.577202', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
middle_02_l ['Translation:', 'X=64.490', 'Y=4.479', 'Z=103.481', 'Rotation:', 'P=-58.987339', 'Y=31.396336', 'R=-101.577202', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
middle_03_l ['Translation:', 'X=442.291', 'Y=4.021', 'Z=-205.218', 'Rotation:', 'P=-70.486740', 'Y=42.113358', 'R=-113.470406', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
middle_03_l ['Translation:', 'X=66.531', 'Y=5.725', 'Z=99.504', 'Rotation:', 'P=-70.486740', 'Y=42.113358', 'R=-113.470406', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
middle_04_l ['Translation:', 'X=443.195', 'Y=4.839', 'Z=-208.657', 'Rotation:', 'P=-56.627937', 'Y=23.489927', 'R=-96.457565', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
middle_04_l ['Translation:', 'X=67.435', 'Y=6.542', 'Z=96.065', 'Rotation:', 'P=-56.627937', 'Y=23.489927', 'R=-96.457565', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pinky_02_l ['Translation:', 'X=439.785', 'Y=-1.863', 'Z=-201.704', 'Rotation:', 'P=-57.221210', 'Y=8.494291', 'R=-103.297714', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pinky_02_l ['Translation:', 'X=64.025', 'Y=-0.159', 'Z=103.018', 'Rotation:', 'P=-57.221210', 'Y=8.494291', 'R=-103.297714', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pinky_03_l ['Translation:', 'X=441.697', 'Y=-1.577', 'Z=-204.707', 'Rotation:', 'P=-68.397072', 'Y=11.974680', 'R=-105.215523', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pinky_03_l ['Translation:', 'X=65.937', 'Y=0.127', 'Z=100.015', 'Rotation:', 'P=-68.397072', 'Y=11.974680', 'R=-105.215523', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pinky_04_l ['Translation:', 'X=442.772', 'Y=-1.349', 'Z=-207.483', 'Rotation:', 'P=-68.031853', 'Y=22.739058', 'R=-114.804611', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pinky_04_l ['Translation:', 'X=67.012', 'Y=0.355', 'Z=97.239', 'Rotation:', 'P=-68.031853', 'Y=22.739058', 'R=-114.804611', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ring_02_l ['Translation:', 'X=440.335', 'Y=0.379', 'Z=-201.683', 'Rotation:', 'P=-60.143337', 'Y=23.882196', 'R=-110.450768', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ring_02_l ['Translation:', 'X=64.576', 'Y=2.083', 'Z=103.039', 'Rotation:', 'P=-60.143337', 'Y=23.882196', 'R=-110.450768', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ring_03_l ['Translation:', 'X=442.352', 'Y=1.272', 'Z=-205.525', 'Rotation:', 'P=-72.950729', 'Y=34.323620', 'R=-119.597374', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ring_03_l ['Translation:', 'X=66.592', 'Y=2.975', 'Z=99.197', 'Rotation:', 'P=-72.950729', 'Y=34.323620', 'R=-119.597374', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ring_04_l ['Translation:', 'X=443.194', 'Y=1.847', 'Z=-208.849', 'Rotation:', 'P=-60.028549', 'Y=26.871693', 'R=-112.741859', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ring_04_l ['Translation:', 'X=67.434', 'Y=3.550', 'Z=95.873', 'Rotation:', 'P=-60.028549', 'Y=26.871693', 'R=-112.741859', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thumb_02_l ['Translation:', 'X=433.238', 'Y=2.173', 'Z=-197.083', 'Rotation:', 'P=-34.138702', 'Y=87.683189', 'R=-52.981850', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thumb_02_l ['Translation:', 'X=57.478', 'Y=3.876', 'Z=107.639', 'Rotation:', 'P=-34.138702', 'Y=87.683189', 'R=-52.981850', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thumb_03_l ['Translation:', 'X=433.367', 'Y=5.373', 'Z=-199.254', 'Rotation:', 'P=-52.094620', 'Y=85.939804', 'R=-51.473255', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thumb_03_l ['Translation:', 'X=57.607', 'Y=7.077', 'Z=105.468', 'Rotation:', 'P=-52.094620', 'Y=85.939804', 'R=-51.473255', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thumb_04_l ['Translation:', 'X=433.544', 'Y=7.862', 'Z=-202.460', 'Rotation:', 'P=-42.125023', 'Y=96.831261', 'R=-57.027554', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thumb_04_l ['Translation:', 'X=57.784', 'Y=9.566', 'Z=102.262', 'Rotation:', 'P=-42.125023', 'Y=96.831261', 'R=-57.027554', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
lowerarm_twist_01_l ['Translation:', 'X=423.083', 'Y=-7.607', 'Z=-185.940', 'Rotation:', 'P=-33.187275', 'Y=30.848158', 'R=-28.515471', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
lowerarm_twist_01_l ['Translation:', 'X=47.323', 'Y=-5.903', 'Z=118.782', 'Rotation:', 'P=-33.187275', 'Y=30.848158', 'R=-28.515471', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
None ['Translation:', 'X=432.406', 'Y=-2.039', 'Z=-193.042', 'Rotation:', 'P=-35.172630', 'Y=32.751068', 'R=-105.931976', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
upperarm_twist_01_l ['Translation:', 'X=18.023', 'Y=-9.748', 'Z=149.150', 'Rotation:', 'P=-49.541203', 'Y=-6.413616', 'R=3.295938', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
upperarm_twist_01_l ['Translation:', 'X=393.783', 'Y=-11.452', 'Z=-155.572', 'Rotation:', 'P=-49.541203', 'Y=-6.413616', 'R=3.295938', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
clavicle_r ['Translation:', 'X=-3.782', 'Y=-2.761', 'Z=152.201', 'Rotation:', 'P=9.742397', 'Y=26.536829', 'R=180.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
clavicle_r ['Translation:', 'X=371.978', 'Y=-4.465', 'Z=-152.521', 'Rotation:', 'P=9.742397', 'Y=26.536829', 'R=180.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
shoulder_r ['Translation:', 'X=-17.700', 'Y=-9.712', 'Z=149.530', 'Rotation:', 'P=49.541229', 'Y=6.413619', 'R=-176.704056', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
shoulder_r ['Translation:', 'X=358.060', 'Y=-11.416', 'Z=-155.192', 'Rotation:', 'P=49.541229', 'Y=6.413619', 'R=-176.704056', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
elbow_r ['Translation:', 'X=-37.265', 'Y=-11.911', 'Z=126.445', 'Rotation:', 'P=33.187275', 'Y=-30.848154', 'R=151.484512', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
elbow_r ['Translation:', 'X=338.495', 'Y=-13.615', 'Z=-178.277', 'Rotation:', 'P=33.187275', 'Y=-30.848154', 'R=151.484512', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
hand_r ['Translation:', 'X=-56.646', 'Y=-0.335', 'Z=111.680', 'Rotation:', 'P=35.172619', 'Y=-32.751076', 'R=74.068016', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
hand_r ['Translation:', 'X=319.114', 'Y=-2.039', 'Z=-193.042', 'Rotation:', 'P=35.172619', 'Y=-32.751076', 'R=74.068016', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
index_02_r ['Translation:', 'X=-63.042', 'Y=6.766', 'Z=103.815', 'Rotation:', 'P=60.632515', 'Y=-39.185219', 'R=84.891525', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
index_02_r ['Translation:', 'X=312.718', 'Y=5.063', 'Z=-200.907', 'Rotation:', 'P=60.632515', 'Y=-39.185219', 'R=84.891525', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
index_03_r ['Translation:', 'X=-64.672', 'Y=8.095', 'Z=100.078', 'Rotation:', 'P=72.604263', 'Y=-41.145885', 'R=84.469742', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
index_03_r ['Translation:', 'X=311.088', 'Y=6.391', 'Z=-204.644', 'Rotation:', 'P=72.604263', 'Y=-41.145885', 'R=84.469742', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
index_04_r ['Translation:', 'X=-65.436', 'Y=8.762', 'Z=96.840', 'Rotation:', 'P=63.056419', 'Y=-41.326252', 'R=85.522316', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
index_04_r ['Translation:', 'X=310.324', 'Y=7.059', 'Z=-207.882', 'Rotation:', 'P=63.056419', 'Y=-41.326252', 'R=85.522316', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
middle_02_ ['Translation:', 'X=-64.490', 'Y=4.479', 'Z=103.482', 'Rotation:', 'P=58.987339', 'Y=-31.396345', 'R=78.422768', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
middle_02_ ['Translation:', 'X=311.270', 'Y=2.776', 'Z=-201.240', 'Rotation:', 'P=58.987339', 'Y=-31.396345', 'R=78.422768', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
middle_03_r ['Translation:', 'X=-66.531', 'Y=5.725', 'Z=99.504', 'Rotation:', 'P=70.486748', 'Y=-42.113411', 'R=66.529549', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
middle_03_r ['Translation:', 'X=309.229', 'Y=4.021', 'Z=-205.218', 'Rotation:', 'P=70.486748', 'Y=-42.113411', 'R=66.529549', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
middle_04_r ['Translation:', 'X=-67.435', 'Y=6.542', 'Z=96.065', 'Rotation:', 'P=56.627953', 'Y=-23.489948', 'R=83.542404', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
middle_04_r ['Translation:', 'X=308.325', 'Y=4.839', 'Z=-208.657', 'Rotation:', 'P=56.627953', 'Y=-23.489948', 'R=83.542404', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pinky_02_r ['Translation:', 'X=-64.025', 'Y=-0.159', 'Z=103.017', 'Rotation:', 'P=57.221222', 'Y=-8.494291', 'R=76.702271', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pinky_02_r ['Translation:', 'X=311.735', 'Y=-1.863', 'Z=-201.705', 'Rotation:', 'P=57.221222', 'Y=-8.494291', 'R=76.702271', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pinky_03_r ['Translation:', 'X=-65.937', 'Y=0.127', 'Z=100.015', 'Rotation:', 'P=68.397110', 'Y=-11.974666', 'R=74.784508', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pinky_03_r ['Translation:', 'X=309.823', 'Y=-1.577', 'Z=-204.707', 'Rotation:', 'P=68.397110', 'Y=-11.974666', 'R=74.784508', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
pinky_04_r ['Translation:', 'X=-67.013', 'Y=0.355', 'Z=97.239', 'Rotation:', 'P=68.031822', 'Y=-22.739044', 'R=65.195419', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
pinky_04_r ['Translation:', 'X=308.747', 'Y=-1.349', 'Z=-207.483', 'Rotation:', 'P=68.031822', 'Y=-22.739044', 'R=65.195419', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ring_02_r ['Translation:', 'X=-64.576', 'Y=2.083', 'Z=103.039', 'Rotation:', 'P=60.143322', 'Y=-23.882204', 'R=69.549194', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ring_02_r ['Translation:', 'X=311.184', 'Y=0.379', 'Z=-201.683', 'Rotation:', 'P=60.143322', 'Y=-23.882204', 'R=69.549194', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ring_03_r ['Translation:', 'X=-66.592', 'Y=2.975', 'Z=99.197', 'Rotation:', 'P=72.950775', 'Y=-34.323681', 'R=60.402596', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ring_03_r ['Translation:', 'X=309.168', 'Y=1.272', 'Z=-205.525', 'Rotation:', 'P=72.950775', 'Y=-34.323681', 'R=60.402596', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ring_04_r ['Translation:', 'X=-67.434', 'Y=3.550', 'Z=95.873', 'Rotation:', 'P=60.028561', 'Y=-26.871723', 'R=67.258072', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ring_04_r ['Translation:', 'X=308.326', 'Y=1.847', 'Z=-208.849', 'Rotation:', 'P=60.028561', 'Y=-26.871723', 'R=67.258072', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thumb_02_r ['Translation:', 'X=-57.478', 'Y=3.877', 'Z=107.639', 'Rotation:', 'P=34.138699', 'Y=-87.683189', 'R=127.018127', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thumb_02_r ['Translation:', 'X=318.282', 'Y=2.173', 'Z=-197.083', 'Rotation:', 'P=34.138699', 'Y=-87.683189', 'R=127.018127', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thumb_03_r ['Translation:', 'X=-57.607', 'Y=7.077', 'Z=105.467', 'Rotation:', 'P=52.094624', 'Y=-85.939819', 'R=128.526718', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thumb_03_r ['Translation:', 'X=318.152', 'Y=5.373', 'Z=-199.254', 'Rotation:', 'P=52.094624', 'Y=-85.939819', 'R=128.526718', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thumb_04_r ['Translation:', 'X=-57.784', 'Y=9.566', 'Z=102.262', 'Rotation:', 'P=42.125004', 'Y=-96.831261', 'R=122.972427', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thumb_04_r ['Translation:', 'X=317.976', 'Y=7.862', 'Z=-202.460', 'Rotation:', 'P=42.125004', 'Y=-96.831261', 'R=122.972427', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
lowerarm_twist_01_r ['Translation:', 'X=-47.324', 'Y=-5.903', 'Z=118.782', 'Rotation:', 'P=33.187271', 'Y=-30.848154', 'R=137.974152', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
lowerarm_twist_01_r ['Translation:', 'X=328.436', 'Y=-7.607', 'Z=-185.940', 'Rotation:', 'P=33.187271', 'Y=-30.848154', 'R=137.974152', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
upperarm_twist_01_r ['Translation:', 'X=-18.023', 'Y=-9.748', 'Z=149.150', 'Rotation:', 'P=49.541218', 'Y=6.413617', 'R=163.344009', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
upperarm_twist_01_r ['Translation:', 'X=357.737', 'Y=-11.452', 'Z=-155.572', 'Rotation:', 'P=49.541218', 'Y=6.413617', 'R=163.344009', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
head ['Translation:', 'X=0.000', 'Y=-5.876', 'Z=156.421', 'Rotation:', 'P=75.972702', 'Y=89.999969', 'R=89.999969', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
head ['Translation:', 'X=375.760', 'Y=-7.579', 'Z=-148.301', 'Rotation:', 'P=75.972702', 'Y=89.999969', 'R=89.999969', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
head_0 ['Translation:', 'X=0.000', 'Y=-3.979', 'Z=165.516', 'Rotation:', 'P=88.678833', 'Y=-90.000290', 'R=-90.000290', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
head_0 ['Translation:', 'X=375.760', 'Y=-5.683', 'Z=-139.206', 'Rotation:', 'P=88.678833', 'Y=-90.000290', 'R=-90.000290', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
hip_l ['Translation:', 'X=9.006', 'Y=-0.530', 'Z=95.300', 'Rotation:', 'P=82.760597', 'Y=166.295837', 'R=174.753387', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
hip_l ['Translation:', 'X=384.766', 'Y=-2.234', 'Z=-209.422', 'Rotation:', 'P=82.760597', 'Y=166.295837', 'R=174.753387', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
knee_l ['Translation:', 'X=14.218', 'Y=-1.801', 'Z=53.067', 'Rotation:', 'P=80.127579', 'Y=114.503563', 'R=117.834335', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
knee_l ['Translation:', 'X=389.978', 'Y=-3.505', 'Z=-251.655', 'Rotation:', 'P=80.127579', 'Y=114.503563', 'R=117.834335', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
calf_twist_01_l ['Translation:', 'X=15.674', 'Y=-4.996', 'Z=32.894', 'Rotation:', 'P=79.251228', 'Y=113.356789', 'R=117.027946', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
calf_twist_01_l ['Translation:', 'X=391.434', 'Y=-6.699', 'Z=-271.828', 'Rotation:', 'P=79.251228', 'Y=113.356789', 'R=117.027946', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ankle_l ['Translation:', 'X=17.076', 'Y=-8.072', 'Z=13.466', 'Rotation:', 'P=88.877769', 'Y=139.206955', 'R=141.820786', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ankle_l ['Translation:', 'X=392.836', 'Y=-9.776', 'Z=-291.256', 'Rotation:', 'P=88.877769', 'Y=139.206955', 'R=141.820786', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ball_l ['Translation:', 'X=17.909', 'Y=8.357', 'Z=2.812', 'Rotation:', 'P=-2.576805', 'Y=87.342842', 'R=90.887283', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ball_l ['Translation:', 'X=393.669', 'Y=6.653', 'Z=-301.910', 'Rotation:', 'P=-2.576805', 'Y=87.342842', 'R=90.887283', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thigh_twist_01_l ['Translation:', 'X=11.711', 'Y=-1.190', 'Z=73.382', 'Rotation:', 'P=82.754990', 'Y=165.851181', 'R=168.873581', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thigh_twist_01_l ['Translation:', 'X=387.471', 'Y=-2.893', 'Z=-231.340', 'Rotation:', 'P=82.754990', 'Y=165.851181', 'R=168.873581', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
hip_r ['Translation:', 'X=-9.006', 'Y=-0.530', 'Z=95.300', 'Rotation:', 'P=-82.760597', 'Y=-166.295837', 'R=-5.246624', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
hip_r ['Translation:', 'X=366.754', 'Y=-2.234', 'Z=-209.422', 'Rotation:', 'P=-82.760597', 'Y=-166.295837', 'R=-5.246624', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
knee_r ['Translation:', 'X=-14.218', 'Y=-1.801', 'Z=53.067', 'Rotation:', 'P=-80.127579', 'Y=-114.503563', 'R=-62.165585', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
knee_r ['Translation:', 'X=361.542', 'Y=-3.505', 'Z=-251.655', 'Rotation:', 'P=-80.127579', 'Y=-114.503563', 'R=-62.165585', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
calf_twist_01_r ['Translation:', 'X=-15.674', 'Y=-4.996', 'Z=32.893', 'Rotation:', 'P=-79.251190', 'Y=-113.357056', 'R=-62.971889', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
calf_twist_01_r ['Translation:', 'X=360.086', 'Y=-6.699', 'Z=-271.828', 'Rotation:', 'P=-79.251190', 'Y=-113.357056', 'R=-62.971889', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ankle_r ['Translation:', 'X=-17.076', 'Y=-8.072', 'Z=13.466', 'Rotation:', 'P=-88.878120', 'Y=-139.207230', 'R=-38.179173', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ankle_r ['Translation:', 'X=358.684', 'Y=-9.776', 'Z=-291.256', 'Rotation:', 'P=-88.878120', 'Y=-139.207230', 'R=-38.179173', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ball_r ['Translation:', 'X=-17.909', 'Y=8.357', 'Z=2.812', 'Rotation:', 'P=2.576798', 'Y=-87.342842', 'R=-89.112701', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ball_r ['Translation:', 'X=357.851', 'Y=6.653', 'Z=-301.910', 'Rotation:', 'P=2.576798', 'Y=-87.342842', 'R=-89.112701', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
thigh_twist_01_r ['Translation:', 'X=-11.711', 'Y=-1.190', 'Z=73.382', 'Rotation:', 'P=-82.755020', 'Y=-165.851059', 'R=-11.126723', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
thigh_twist_01_r ['Translation:', 'X=364.049', 'Y=-2.893', 'Z=-231.340', 'Rotation:', 'P=-82.755020', 'Y=-165.851059', 'R=-11.126723', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ik_foot_root ['Translation:', 'X=0.000', 'Y=0.000', 'Z=0.000', 'Rotation:', 'P=0.000000', 'Y=0.000000', 'R=0.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ik_foot_root ['Translation:', 'X=375.760', 'Y=-1.704', 'Z=-304.722', 'Rotation:', 'P=0.000000', 'Y=0.000000', 'R=0.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ik_foot_l ['Translation:', 'X=17.076', 'Y=-8.072', 'Z=13.466', 'Rotation:', 'P=88.877769', 'Y=139.207169', 'R=141.820999', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ik_foot_l ['Translation:', 'X=392.836', 'Y=-9.776', 'Z=-291.256', 'Rotation:', 'P=88.877769', 'Y=139.207169', 'R=141.820999', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ik_foot_r ['Translation:', 'X=-17.076', 'Y=-8.072', 'Z=13.466', 'Rotation:', 'P=-88.877769', 'Y=-139.207169', 'R=-38.178883', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ik_foot_r ['Translation:', 'X=358.684', 'Y=-9.776', 'Z=-291.256', 'Rotation:', 'P=-88.877769', 'Y=-139.207169', 'R=-38.178883', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ik_hand_root ['Translation:', 'X=0.000', 'Y=0.000', 'Z=0.000', 'Rotation:', 'P=0.000000', 'Y=0.000000', 'R=0.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ik_hand_root ['Translation:', 'X=375.760', 'Y=-1.704', 'Z=-304.722', 'Rotation:', 'P=0.000000', 'Y=0.000000', 'R=0.000000', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ik_hand_gun ['Translation:', 'X=-56.646', 'Y=-0.335', 'Z=111.680', 'Rotation:', 'P=35.172623', 'Y=-32.751068', 'R=74.068031', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ik_hand_gun ['Translation:', 'X=319.114', 'Y=-2.039', 'Z=-193.042', 'Rotation:', 'P=35.172623', 'Y=-32.751068', 'R=74.068031', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
ik_hand_l ['Translation:', 'X=56.646', 'Y=-0.335', 'Z=111.680', 'Rotation:', 'P=-35.172630', 'Y=32.751068', 'R=-105.931976', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
||||||
ik_hand_l ['Translation:', 'X=432.406', 'Y=-2.039', 'Z=-193.042', 'Rotation:', 'P=-35.172630', 'Y=32.751068', 'R=-105.931976', 'Scale', 'X=1.000', 'Y=1.000', 'Z=1.000\n']
|
|
||||||
@@ -12,12 +12,7 @@ FORMAT = '%(asctime)-15s %(message)s'
|
|||||||
logging.basicConfig(filename="hpe_mp_class.log", level=logging.INFO, format=FORMAT)
|
logging.basicConfig(filename="hpe_mp_class.log", level=logging.INFO, format=FORMAT)
|
||||||
logger = logging.getLogger("hpe_mp_class_logger")
|
logger = logging.getLogger("hpe_mp_class_logger")
|
||||||
|
|
||||||
from ModelUE4 import bodyconvert
|
from ModelUE4 import *
|
||||||
from ModelUE4 import rhandconvert
|
|
||||||
from ModelUE4 import lhandconvert
|
|
||||||
from ModelUE4 import bodyaposeworld
|
|
||||||
from ModelUE4 import bodyaposelocal
|
|
||||||
from ModelUE4 import bodyconvertlocal
|
|
||||||
|
|
||||||
class hpe_mp_class():
|
class hpe_mp_class():
|
||||||
|
|
||||||
@@ -175,6 +170,7 @@ class hpe_mp_class():
|
|||||||
bodyaposelocal(data)
|
bodyaposelocal(data)
|
||||||
else:
|
else:
|
||||||
if world:
|
if world:
|
||||||
|
bodyaposeworld(data)
|
||||||
if self.holistic_use:
|
if self.holistic_use:
|
||||||
poseslms = {}
|
poseslms = {}
|
||||||
maxy = 0
|
maxy = 0
|
||||||
@@ -184,14 +180,18 @@ class hpe_mp_class():
|
|||||||
if lm.y > maxy:
|
if lm.y > maxy:
|
||||||
maxy = lm.y
|
maxy = lm.y
|
||||||
|
|
||||||
bodyconvert(poseslms, data, self.coef, maxy)
|
# bodyconvert(poseslms, data, self.coef, maxy)
|
||||||
|
bodyconvertwithrot(poseslms, data, self.coef, maxy)
|
||||||
|
|
||||||
rhandlms = {}
|
rhandlms = {}
|
||||||
if self.results_hol.right_hand_landmarks:
|
if self.results_hol.right_hand_landmarks:
|
||||||
for id, lm in enumerate(self.results_hol.right_hand_landmarks.landmark):
|
for id, lm in enumerate(self.results_hol.right_hand_landmarks.landmark):
|
||||||
rhandlms[id] = lm
|
rhandlms[id] = lm
|
||||||
|
|
||||||
rhandconvert(rhandlms, data, self.coef)
|
# rhandconvert(rhandlms, data, self.coef)
|
||||||
|
rhandconvertwithrot(rhandlms, data, self.coef)
|
||||||
|
else:
|
||||||
|
rhandconverttranslation(data)
|
||||||
|
|
||||||
lhandlms = {}
|
lhandlms = {}
|
||||||
if self.results_hol.left_hand_landmarks:
|
if self.results_hol.left_hand_landmarks:
|
||||||
@@ -199,6 +199,9 @@ class hpe_mp_class():
|
|||||||
lhandlms[id] = lm
|
lhandlms[id] = lm
|
||||||
|
|
||||||
lhandconvert(lhandlms, data, self.coef)
|
lhandconvert(lhandlms, data, self.coef)
|
||||||
|
lhandconvertwithrot(lhandlms, data, self.coef)
|
||||||
|
else:
|
||||||
|
lhandconverttranslation(data)
|
||||||
else:
|
else:
|
||||||
bodyaposelocal(data)
|
bodyaposelocal(data)
|
||||||
if self.holistic_use:
|
if self.holistic_use:
|
||||||
|
|||||||
Reference in New Issue
Block a user