480 lines
20 KiB
Python
480 lines
20 KiB
Python
# convert mediapipe model to model from Unreal
|
|
|
|
# element of json
|
|
def makexyzrotvis(x,y,z,rotx,roty,rotz,visible):
|
|
ret = {}
|
|
translation = {}
|
|
rotation = {}
|
|
scale = {}
|
|
translation["x"] = x
|
|
translation["y"] = y
|
|
translation["z"] = z
|
|
rotation["rotx"] = rotx
|
|
rotation["roty"] = roty
|
|
rotation["rotz"] = rotz
|
|
scale["x"] = 1.0
|
|
scale["y"] = 1.0
|
|
scale["z"] = 1.0
|
|
ret["visible"] = visible
|
|
ret["translation"] = translation
|
|
ret["rotation"] = rotation
|
|
ret["scale"] = scale
|
|
return ret
|
|
|
|
def bodyconvert(poseslms, data, coef, maxy):
|
|
dataxyz = {}
|
|
|
|
rootx = poseslms[24].x * coef
|
|
rooty = -poseslms[24].z * coef
|
|
rootz = -poseslms[24].y * coef
|
|
rootv = poseslms[24].visibility
|
|
data["hip_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["hip_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["hip_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = 0.5 * (dataxyz["hip_l"][0] + dataxyz["hip_r"][0]) * coef
|
|
rooty = -maxy * coef
|
|
rootz = -0.5 * (dataxyz["hip_l"][2] + dataxyz["hip_r"][2]) * coef
|
|
rootv = 1.0
|
|
data["root"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["root"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = 0.5 * (dataxyz["hip_l"][0] + dataxyz["hip_r"][0]) * coef
|
|
rooty = -0.5 * (dataxyz["hip_l"][1] + dataxyz["hip_r"][1]) * coef
|
|
rootz = -0.5 * (dataxyz["hip_l"][2] + dataxyz["hip_r"][2]) * coef
|
|
rootv = 0.5 * (dataxyz["hip_l"][3] + dataxyz["hip_r"][3])
|
|
data["pelvis"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pelvis"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = poseslms[0].x * coef
|
|
rooty = -poseslms[0].z * coef
|
|
rootz = -poseslms[0].y * coef
|
|
rootv = poseslms[0].visibility
|
|
data["head"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["head"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.955887 * dataxyz["head"][0] + 0.044113 * dataxyz["pelvis"][0]) * coef
|
|
rooty = (0.955887 * dataxyz["head"][1] + 0.044113 * dataxyz["pelvis"][1]) * coef
|
|
rootz = (0.955887 * dataxyz["head"][2] + 0.044113 * dataxyz["pelvis"][2]) * coef
|
|
rootv = (0.955887 * dataxyz["head"][3] + 0.044113 * dataxyz["pelvis"][3])
|
|
data["spine_01"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["spine_01"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.864201 * dataxyz["head"][0] + 0.135799 * dataxyz["pelvis"][0]) * coef
|
|
rooty = (0.864201 * dataxyz["head"][1] + 0.135799 * dataxyz["pelvis"][1]) * coef
|
|
rootz = (0.864201 * dataxyz["head"][2] + 0.135799 * dataxyz["pelvis"][2]) * coef
|
|
rootv = (0.864201 * dataxyz["head"][3] + 0.135799 * dataxyz["pelvis"][3])
|
|
data["spine_02"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["spine_02"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.717787 * dataxyz["head"][0] + 0.282213 * dataxyz["pelvis"][0]) * coef
|
|
rooty = (0.717787 * dataxyz["head"][1] + 0.282213 * dataxyz["pelvis"][1]) * coef
|
|
rootz = (0.717787 * dataxyz["head"][2] + 0.282213 * dataxyz["pelvis"][2]) * coef
|
|
rootv = (0.717787 * dataxyz["head"][3] + 0.282213 * dataxyz["pelvis"][3])
|
|
data["spine_03"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["spine_03"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.548406 * dataxyz["head"][0] + 0.451594 * dataxyz["pelvis"][0]) * coef
|
|
rooty = (0.548406 * dataxyz["head"][1] + 0.451594 * dataxyz["pelvis"][1]) * coef
|
|
rootz = (0.548406 * dataxyz["head"][2] + 0.451594 * dataxyz["pelvis"][2]) * coef
|
|
rootv = (0.548406 * dataxyz["head"][3] + 0.451594 * dataxyz["pelvis"][3])
|
|
data["spine_04"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["spine_04"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.228975 * dataxyz["head"][0] + 0.771025 * dataxyz["pelvis"][0]) * coef
|
|
rooty = (0.228975 * dataxyz["head"][1] + 0.771025 * dataxyz["pelvis"][1]) * coef
|
|
rootz = (0.228975 * dataxyz["head"][2] + 0.771025 * dataxyz["pelvis"][2]) * coef
|
|
rootv = (0.228975 * dataxyz["head"][3] + 0.771025 * dataxyz["pelvis"][3])
|
|
data["spine_05"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["spine_05"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = poseslms[26].x * coef
|
|
rooty = -poseslms[26].z * coef
|
|
rootz = -poseslms[26].y * coef
|
|
rootv = poseslms[26].visibility
|
|
data["knee_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["knee_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["ankle_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["ankle_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["ball_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["ball_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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]
|
|
|
|
rootx = poseslms[12].x * coef
|
|
rooty = -poseslms[12].z * coef
|
|
rootz = -poseslms[12].y * coef
|
|
rootv = poseslms[12].visibility
|
|
data["shoulder_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["shoulder_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["shoulder_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.635 * dataxyz["shoulder_r"][0] + 0.365 * dataxyz["shoulder_l"][0]) * coef
|
|
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]) * coef
|
|
rootz = (0.0635 * dataxyz["shoulder_r"][1] + 0.0365 * dataxyz["shoulder_l"][1] + 0.9 * dataxyz["spine_05"][1]) * coef
|
|
rootv = (0.635 * dataxyz["shoulder_r"][0] + 0.451594 * dataxyz["shoulder_l"][0])
|
|
data["clavicle_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["clavicle_r"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.635 * dataxyz["shoulder_l"][0] + 0.365 * dataxyz["shoulder_r"][0]) * coef
|
|
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]) * coef
|
|
rootz = (0.0635 * dataxyz["shoulder_l"][1] + 0.0365 * dataxyz["shoulder_r"][1] + 0.9 * dataxyz["spine_05"][1]) * coef
|
|
rootv = (0.635 * dataxyz["shoulder_l"][0] + 0.365 * dataxyz["shoulder_r"][0])
|
|
data["clavicle_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["clavicle_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = poseslms[14].x * coef
|
|
rooty = -poseslms[14].z * coef
|
|
rootz = -poseslms[14].y * coef
|
|
rootv = poseslms[14].visibility
|
|
data["elbow_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["elbow_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["elbow_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
def rhandconvert(rhandlms, data, coef):
|
|
dataxyz = {}
|
|
|
|
rootx = rhandlms[0].x * coef
|
|
rooty = -rhandlms[0].z * coef
|
|
rootz = -rhandlms[0].y * coef
|
|
rootv = 1.0
|
|
data["hand_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["index_2_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["index_2_r"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["index_2_r"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["index_2_r"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["index_2_r"][2]) * coef
|
|
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
|
|
data["middle_2_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["middle_2_r"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["middle_2_r"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["middle_2_r"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["middle_2_r"][2]) * coef
|
|
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
|
|
data["ring_2_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["ring_2_r"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["ring_2_r"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["ring_2_r"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["ring_2_r"][2]) * coef
|
|
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
|
|
data["pinky_2_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pinky_2_r"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_r"][0] + 0.25 * dataxyz["pinky_2_r"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_r"][1] + 0.25 * dataxyz["pinky_2_r"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_r"][2] + 0.25 * dataxyz["pinky_2_r"][2]) * coef
|
|
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
|
|
data["thumb_2_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["thumb_3_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["index_3_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["index_4_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["middle_3_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["middle_4_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["ring_3_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["ring_4_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["pinky_3_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
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
|
|
data["pinky_4_r"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pinky_4_r"] = [rootx, rooty, rootz, rootv]
|
|
|
|
def lhandconvert(lhandlms, data, coef):
|
|
dataxyz = {}
|
|
|
|
rootx = lhandlms[0].x * coef
|
|
rooty = -lhandlms[0].z * coef
|
|
rootz = -lhandlms[0].y * coef
|
|
rootv = 1.0
|
|
data["hand_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["hand_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[5].x * coef
|
|
rooty = -lhandlms[5].z * coef
|
|
rootz = -lhandlms[5].y * coef
|
|
rootv = 1.0
|
|
data["index_2_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["index_2_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["index_2_l"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["index_2_l"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["index_2_l"][2]) * coef
|
|
rootv = 1.0
|
|
data["index_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["index_1_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[9].x * coef
|
|
rooty = -lhandlms[9].z * coef
|
|
rootz = -lhandlms[9].y * coef
|
|
rootv = 1.0
|
|
data["middle_2_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["middle_2_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["middle_2_l"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["middle_2_l"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["middle_2_l"][2]) * coef
|
|
rootv = 1.0
|
|
data["middle_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["middle_1_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[13].x * coef
|
|
rooty = -lhandlms[13].z * coef
|
|
rootz = -lhandlms[13].y * coef
|
|
rootv = 1.0
|
|
data["ring_2_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["ring_2_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["ring_2_l"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["ring_2_l"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["ring_2_l"][2]) * coef
|
|
rootv = 1.0
|
|
data["ring_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["ring_1_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[17].x * coef
|
|
rooty = -lhandlms[17].z * coef
|
|
rootz = -lhandlms[17].y * coef
|
|
rootv = 1.0
|
|
data["pinky_2_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pinky_2_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = (0.75 * dataxyz["hand_l"][0] + 0.25 * dataxyz["pinky_2_l"][0]) * coef
|
|
rooty = (0.75 * dataxyz["hand_l"][1] + 0.25 * dataxyz["pinky_2_l"][1]) * coef
|
|
rootz = (0.75 * dataxyz["hand_l"][2] + 0.25 * dataxyz["pinky_2_l"][2]) * coef
|
|
rootv = 1.0
|
|
data["pinky_1_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pinky_1_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[1].x * coef
|
|
rooty = -lhandlms[1].z * coef
|
|
rootz = -lhandlms[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 = lhandlms[2].x * coef
|
|
rooty = -lhandlms[2].z * coef
|
|
rootz = -lhandlms[2].y * coef
|
|
rootv = 1.0
|
|
data["thumb_2_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["thumb_2_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[3].x * coef
|
|
rooty = -lhandlms[3].z * coef
|
|
rootz = -lhandlms[3].y * coef
|
|
rootv = 1.0
|
|
data["thumb_3_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["thumb_3_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[6].x * coef
|
|
rooty = -lhandlms[6].z * coef
|
|
rootz = -lhandlms[6].y * coef
|
|
rootv = 1.0
|
|
data["index_3_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["index_3_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[7].x * coef
|
|
rooty = -lhandlms[7].z * coef
|
|
rootz = -lhandlms[7].y * coef
|
|
rootv = 1.0
|
|
data["index_4_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["index_4_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[10].x * coef
|
|
rooty = -lhandlms[10].z * coef
|
|
rootz = -lhandlms[10].y * coef
|
|
rootv = 1.0
|
|
data["middle_3_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["middle_3_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[11].x * coef
|
|
rooty = -lhandlms[11].z * coef
|
|
rootz = -lhandlms[11].y * coef
|
|
rootv = 1.0
|
|
data["middle_4_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["middle_4_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[14].x * coef
|
|
rooty = -lhandlms[14].z * coef
|
|
rootz = -lhandlms[14].y * coef
|
|
rootv = 1.0
|
|
data["ring_3_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["ring_3_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[15].x * coef
|
|
rooty = -lhandlms[15].z * coef
|
|
rootz = -lhandlms[15].y * coef
|
|
rootv = 1.0
|
|
data["ring_4_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["ring_4_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[18].x * coef
|
|
rooty = -lhandlms[18].z * coef
|
|
rootz = -lhandlms[18].y * coef
|
|
rootv = 1.0
|
|
data["pinky_3_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pinky_3_l"] = [rootx, rooty, rootz, rootv]
|
|
|
|
rootx = lhandlms[19].x * coef
|
|
rooty = -lhandlms[19].z * coef
|
|
rootz = -lhandlms[19].y * coef
|
|
rootv = 1.0
|
|
data["pinky_4_l"] = makexyzrotvis(rootx, rooty, rootz, 0, 0, 0, rootv)
|
|
dataxyz["pinky_4_l"] = [rootx, rooty, rootz, rootv]
|