Files
Avatar-Toolkit/core/dictionaries.py
T
Yusarina 1333b4d2d4 Rigify To Unity
Not Complete Yet however this is almost ready for Prime time. This converts the basic human armature for righfy to a Unity standard.

This may work for the more advanced human rigfy armatures as well and I planning to improve this before Alpha 2.
2025-01-26 14:51:02 +00:00

406 lines
15 KiB
Python

# GPL Licence
# Bone names from https://github.com/triazo/immersive_scaler/
# Note from @989onan: Please make sure to make your names are lowercase in this array. I banged my head metaphorically till I figured that out...
# Taken from Tuxedo/Cats
bone_names = {
# Right side bones
"right_shoulder": [
"rightshoulder", "shoulderr", "rshoulder", "valvebipedbip01rclavicle",
"右肩", "肩.r", "肩+.r", "右肩+", "右肩", "右肩+", "肩+r", "肩+右", "ik_肩.r"
],
"right_arm": [
"rightarm", "armr", "rarm", "upperarmr", "rupperarm", "rightupperarm",
"uparmr", "ruparm", "valvebipedbip01rupperarm", "右腕", "腕.r", "右腕", "ik_腕.r"
],
"right_elbow": [
"rightelbow", "elbowr", "relbow", "lowerarmr", "rightlowerarm",
"rlowerarm", "lowarmr", "rlowarm", "forearmr", "rforearm",
"valvebipedbip01rforearm", "右ひじ", "ひじ.r", "ik_ひじ.r"
],
"right_wrist": [
"rightwrist", "wristr", "rwrist", "handr", "righthand", "rhand",
"valvebipedbip01rhand", "右手首", "手首.r", "ik_手首.r"
],
"pinkie_0_r": [
"littlefinger0r", "pinkie0r", "rpinkie0", "pinkiemetacarpalr", "右小指0"
],
"pinkie_1_r": [
"littlefinger1r", "pinkie1r", "rpinkie1", "pinkieproximalr",
"valvebipedbip01rfinger4", "右小指1"
],
"pinkie_2_r": [
"littlefinger2r", "pinkie2r", "rpinkie2", "pinkieintermediater",
"valvebipedbip01rfinger41", "右小指2"
],
"pinkie_3_r": [
"littlefinger3r", "pinkie3r", "rpinkie3", "pinkiedistalr",
"valvebipedbip01rfinger42", "右小指3"
],
"ring_0_r": [
"ringfinger0r", "ring0r", "rring0", "ringmetacarpalr", "右薬指0"
],
"ring_1_r": [
"ringfinger1r", "ring1r", "rring1", "ringproximalr",
"valvebipedbip01rfinger3", "右薬指1"
],
"ring_2_r": [
"ringfinger2r", "ring2r", "rring2", "ringintermediater",
"valvebipedbip01rfinger31", "右薬指2"
],
"ring_3_r": [
"ringfinger3r", "ring3r", "rring3", "ringdistalr",
"valvebipedbip01rfinger32", "右薬指3"
],
"middle_0_r": [
"middlefinger0r", "middle0r", "rmiddle0", "middlemetacarpalr", "右中指0"
],
"middle_1_r": [
"middlefinger1r", "middle1r", "rmiddle1", "middleproximalr",
"valvebipedbip01rfinger2", "右中指1"
],
"middle_2_r": [
"middlefinger2r", "middle2r", "rmiddle2", "middleintermediater",
"valvebipedbip01rfinger21", "右中指2"
],
"middle_3_r": [
"middlefinger3r", "middle3r", "rmiddle3", "middledistalr",
"valvebipedbip01rfinger22", "右中指3"
],
"index_0_r": [
"indexfinger0r", "index0r", "rindex0", "indexmetacarpalr", "右人差指0"
],
"index_1_r": [
"indexfinger1r", "index1r", "rindex1", "indexproximalr",
"valvebipedbip01rfinger1", "右人差指1"
],
"index_2_r": [
"indexfinger2r", "index2r", "rindex2", "indexintermediater",
"valvebipedbip01rfinger11", "右人差指2"
],
"index_3_r": [
"indexfinger3r", "index3r", "rindex3", "indexdistalr",
"valvebipedbip01rfinger12", "右人差指3"
],
"thumb_0_r": [
"thumb0r", "rthumb0", "thumbmetacarpalr", "右親指0"
],
"thumb_1_r": [
"thumb1r", "rthumb1", "thumbproximalr", "valvebipedbip01rfinger0", "右親指1"
],
"thumb_2_r": [
"thumb2r", "rthumb2", "thumbintermediater", "valvebipedbip01rfinger01", "右親指2"
],
"thumb_3_r": [
"thumb3r", "rthumb3", "thumbdistalr", "valvebipedbip01rfinger02", "右親指3"
],
"right_leg": [
"rightleg", "legr", "rleg", "upperlegr", "rupperleg", "thighr",
"rightupperleg", "uplegr", "rupleg", "valvebipedbip01rthigh",
"右足", "足.r", "ik_足.r"
],
"right_knee": [
"rightknee", "kneer", "rknee", "lowerlegr", "rightlowerleg",
"rlowerleg", "lowlegr", "rlowleg", "calfr", "rcalf",
"valvebipedbip01rcalf", "右ひざ", "ひざ.r", "すね.r", "ik_ひざ.r"
],
"right_ankle": [
"rightankle", "ankler", "rankle", "rightfoot", "footr", "rfoot",
"rightfeet", "feetright", "rfeet", "feetr", "valvebipedbip01rfoot",
"右足首", "足首.r", "ik_足首.r"
],
"right_toe": [
"righttoe", "toeright", "toer", "rtoe", "toesr", "rtoes",
"valvebipedbip01rtoe0", "右つま先", "つま先.r", "ik_つま先.r"
],
# Left side bones
"left_shoulder": [
"leftshoulder", "shoulderl", "lshoulder", "valvebipedbip01lclavicle",
"左肩", "肩.l", "肩+.l", "左肩+", "左肩", "左肩+", "肩+l", "肩+左", "ik_肩.l"
],
"left_arm": [
"leftarm", "arml", "larm", "upperarml", "lupperarm", "leftupperarm",
"uparml", "luparm", "valvebipedbip01lupperarm", "左腕", "腕.l", "左腕", "ik_腕.l"
],
"left_elbow": [
"leftelbow", "elbowl", "lelbow", "lowerarml", "leftlowerarm",
"llowerarm", "lowarml", "llowarm", "forearml", "lforearm",
"valvebipedbip01lforearm", "左ひじ", "ひじ.l", "すね.l", "ik_ひじ.l"
],
"left_wrist": [
"leftwrist", "wristl", "lwrist", "handl", "lefthand", "lhand",
"valvebipedbip01lhand", "左手首", "手首.l", "ik_手首.l"
],
"pinkie_0_l": [
"pinkiefinger0l", "pinkie0l", "lpinkie0", "pinkiemetacarpall", "左小指0"
],
"pinkie_1_l": [
"littlefinger1l", "pinkie1l", "lpinkie1", "pinkieproximall",
"valvebipedbip01lfinger4", "左小指1"
],
"pinkie_2_l": [
"littlefinger2l", "pinkie2l", "lpinkie2", "pinkieintermediatel",
"valvebipedbip01lfinger41", "左小指2"
],
"pinkie_3_l": [
"littlefinger3l", "pinkie3l", "lpinkie3", "pinkiedistall",
"valvebipedbip01lfinger42", "左小指3"
],
"ring_0_l": [
"ringfinger0l", "ring0l", "lring0", "ringmetacarpall", "左薬指0"
],
"ring_1_l": [
"ringfinger1l", "ring1l", "lring1", "ringproximall",
"valvebipedbip01lfinger3", "左薬指1"
],
"ring_2_l": [
"ringfinger2l", "ring2l", "lring2", "ringintermediatel",
"valvebipedbip01lfinger31", "左薬指2"
],
"ring_3_l": [
"ringfinger3l", "ring3l", "lring3", "ringdistall",
"valvebipedbip01lfinger32", "左薬指3"
],
"middle_0_l": [
"middlefinger0l", "middle_0l", "lmiddle0", "middlemetacarpall", "左中指0"
],
"middle_1_l": [
"middlefinger1l", "middle_1l", "lmiddle1", "middleproximall",
"valvebipedbip01lfinger2", "左中指1"
],
"middle_2_l": [
"middlefinger2l", "middle_2l", "lmiddle2", "middleintermediatel",
"valvebipedbip01lfinger21", "左中指2"
],
"middle_3_l": [
"middlefinger3l", "middle_3l", "lmiddle3", "middledistall",
"valvebipedbip01lfinger22", "左中指3"
],
"index_0_l": [
"indexfinger0l", "index0l", "lindex0", "indexmetacarpall", "左人差指0"
],
"index_1_l": [
"indexfinger1l", "index1l", "lindex1", "indexproximall",
"valvebipedbip01lfinger1", "左人差指1"
],
"index_2_l": [
"indexfinger2l", "index2l", "lindex2", "indexintermediatel",
"valvebipedbip01lfinger11", "左人差指2"
],
"index_3_l": [
"indexfinger3l", "index3l", "lindex3", "indexdistall",
"valvebipedbip01lfinger12", "左人差指3"
],
"thumb_0_l": [
"thumb0l", "lthumb0", "thumbmetacarpall", "左親指0"
],
"thumb_1_l": [
"thumb1l", "lthumb1", "thumbproximall", "valvebipedbip01lfinger0", "左親指1"
],
"thumb_2_l": [
"thumb2l", "lthumb2", "thumbintermediatel", "valvebipedbip01lfinger01", "左親指2"
],
"thumb_3_l": [
"thumb3l", "lthumb3", "thumbdistall", "valvebipedbip01lfinger02", "左親指3"
],
"left_leg": [
"leftleg", "legl", "lleg", "upperlegl", "lupperleg", "thighl",
"leftupperleg", "uplegl", "lupleg", "valvebipedbip01lthigh",
"左足", "足.l", "ik_足.l"
],
"left_knee": [
"leftknee", "kneel", "lknee", "lowerlegl", "leftlowerleg",
"llowerleg", "lowlegl", "llowleg", "calfl", "lcalf",
"valvebipedbip01lcalf", "左ひざ", "ひざ.l", "すね.l", "ik_ひざ.l"
],
"left_ankle": [
"leftankle", "anklel", "lankle", "leftfoot", "footl", "lfoot",
"leftfeet", "feetleft", "lfeet", "feetl", "valvebipedbip01lfoot",
"左足首", "足首.l", "ik_足首.l"
],
"left_toe": [
"lefttoe", "toeleft", "toel", "ltoe", "toesl", "ltoes",
"valvebipedbip01ltoe0", "左つま先", "つま先.l", "ik_つま先.l"
],
# Central bones
"hips": [
"pelvis", "hips", "hip", "valvebipedbip01pelvis", "", "ik_腰"
],
"spine": [
"torso", "spine", "valvebipedbip01spine", "脊椎", "ik_脊椎"
],
"chest": [
"chest", "valvebipedbip01spine1", "", "ik_胸"
],
"upper_chest": [
"upperchest", "valvebipedbip01spine4", "上胸", "ik_上胸"
],
"neck": [
"neck", "valvebipedbip01neck1", "", "ik_首"
],
"head": [
"head", "valvebipedbip01head1", "", "ik_頭"
],
"left_eye": [
"eyeleft", "lefteye", "eyel", "leye", "左目", "ik_左目"
],
"right_eye": [
"eyeright", "righteye", "eyer", "reye", "右目", "ik_右目"
],
}
# Add VRM bone name variations
bone_names.update({
'hips': bone_names['hips'] + ['j_bip_c_hips', 'j_hips', 'vrm_hips'],
'spine': bone_names['spine'] + ['j_bip_c_spine', 'j_spine', 'vrm_spine'],
'chest': bone_names['chest'] + ['j_bip_c_chest', 'j_chest', 'vrm_chest'],
'upper_chest': bone_names['upper_chest'] + ['j_bip_c_upper_chest', 'j_upper_chest', 'vrm_upperchest'],
'neck': bone_names['neck'] + ['j_bip_c_neck', 'j_neck', 'vrm_neck'],
'head': bone_names['head'] + ['j_bip_c_head', 'j_head', 'vrm_head'],
# VRM specific finger naming
'thumb_0_l': bone_names['thumb_0_l'] + ['thumb_metacarpal_l', 'j_thumb1_l'],
'index_0_l': bone_names['index_0_l'] + ['index_metacarpal_l', 'j_index1_l'],
'middle_0_l': bone_names['middle_0_l'] + ['middle_metacarpal_l', 'j_middle1_l'],
'ring_0_l': bone_names['ring_0_l'] + ['ring_metacarpal_l', 'j_ring1_l'],
'pinkie_0_l': bone_names['pinkie_0_l'] + ['little_metacarpal_l', 'j_little1_l'],
# Mirror for right side
'thumb_0_r': bone_names['thumb_0_r'] + ['thumb_metacarpal_r', 'j_thumb1_r'],
'index_0_r': bone_names['index_0_r'] + ['index_metacarpal_r', 'j_index1_r'],
'middle_0_r': bone_names['middle_0_r'] + ['middle_metacarpal_r', 'j_middle1_r'],
'ring_0_r': bone_names['ring_0_r'] + ['ring_metacarpal_r', 'j_ring1_r'],
'pinkie_0_r': bone_names['pinkie_0_r'] + ['little_metacarpal_r', 'j_little1_r']
})
# array taken from cats
dont_delete_these_main_bones = [
'Hips', 'Spine', 'Chest', 'Upper Chest', 'Neck', 'Head',
'Left leg', 'Left knee', 'Left ankle', 'Left toe',
'Right leg', 'Right knee', 'Right ankle', 'Right toe',
'Left shoulder', 'Left arm', 'Left elbow', 'Left wrist',
'Right shoulder', 'Right arm', 'Right elbow', 'Right wrist',
'LeftEye', 'RightEye', 'Eye_L', 'Eye_R',
'Left leg 2', 'Right leg 2',
'Thumb0_L', 'Thumb1_L', 'Thumb2_L',
'IndexFinger1_L', 'IndexFinger2_L', 'IndexFinger3_L',
'MiddleFinger1_L', 'MiddleFinger2_L', 'MiddleFinger3_L',
'RingFinger1_L', 'RingFinger2_L', 'RingFinger3_L',
'LittleFinger1_L', 'LittleFinger2_L', 'LittleFinger3_L',
'Thumb0_R', 'Thumb1_R', 'Thumb2_R',
'IndexFinger1_R', 'IndexFinger2_R', 'IndexFinger3_R',
'MiddleFinger1_R', 'MiddleFinger2_R', 'MiddleFinger3_R',
'RingFinger1_R', 'RingFinger2_R', 'RingFinger3_R',
'LittleFinger1_R', 'LittleFinger2_R', 'LittleFinger3_R',
]
resonite_translations = {
'hips': "Hips",
'spine': "Spine",
'chest': "Chest",
'neck': "Neck",
'head': "Head",
'left_eye': "Eye.L",
'right_eye': "Eye.R",
'right_leg': "UpperLeg.R",
'right_knee': "Calf.R",
'right_ankle': "Foot.R",
'right_toe': 'Toes.R',
'right_shoulder': "Shoulder.R",
'right_arm': "UpperArm.R",
'right_elbow': "ForeArm.R",
'right_wrist': "Hand.R",
'left_leg': "UpperLeg.L",
'left_knee': "Calf.L",
'left_ankle': "Foot.L",
'left_toe': "Toes.L",
'left_shoulder': "Shoulder.L",
'left_arm': "UpperArm.L",
'left_elbow': "ForeArm.L",
'left_wrist': "Hand.L",
'pinkie_1_l': "pinkie1.L",
'pinkie_2_l': "pinkie2.L",
'pinkie_3_l': "pinkie3.L",
'ring_1_l': "ring1.L",
'ring_2_l': "ring2.L",
'ring_3_l': "ring3.L",
'middle_1_l': "middle1.L",
'middle_2_l': "middle2.L",
'middle_3_l': "middle3.L",
'index_1_l': "index1.L",
'index_2_l': "index2.L",
'index_3_l': "index3.L",
'thumb_1_l': "thumb1.L",
'thumb_2_l': "thumb2.L",
'thumb_3_l': "thumb3.L",
'pinkie_1_r': "pinkie1.R",
'pinkie_2_r': "pinkie2.R",
'pinkie_3_r': "pinkie3.R",
'ring_1_r': "ring1.R",
'ring_2_r': "ring2.R",
'ring_3_r': "ring3.R",
'middle_1_r': "middle1.R",
'middle_2_r': "middle2.R",
'middle_3_r': "middle3.R",
'index_1_r': "index1.R",
'index_2_r': "index2.R",
'index_3_r': "index3.R",
'thumb_1_r': "thumb1.R",
'thumb_2_r': "thumb2.R",
'thumb_3_r': "thumb3.R"
}
rigify_unity_names = {
"DEF-spine": "Hips",
"DEF-spine.001": "Spine",
"DEF-spine.002": "Chest",
"DEF-spine.003": "UpperChest",
"DEF-neck": "Neck",
"DEF-head": "Head",
"DEF-shoulder.L": "LeftShoulder",
"DEF-upper_arm.L": "LeftUpperArm",
"DEF-forearm.L": "LeftLowerArm",
"DEF-hand.L": "LeftHand",
"DEF-shoulder.R": "RightShoulder",
"DEF-upper_arm.R": "RightUpperArm",
"DEF-forearm.R": "RightLowerArm",
"DEF-hand.R": "RightHand",
"DEF-thigh.L": "LeftUpperLeg",
"DEF-shin.L": "LeftLowerLeg",
"DEF-foot.L": "LeftFoot",
"DEF-toe.L": "LeftToes",
"DEF-thigh.R": "RightUpperLeg",
"DEF-shin.R": "RightLowerLeg",
"DEF-foot.R": "RightFoot",
"DEF-toe.R": "RightToes"
}
rigify_basic_unity_names = {
"spine": "Hips",
"spine.001": "Spine",
"spine.002": "Chest",
"spine.003": "UpperChest",
"neck": "Neck",
"head": "Head",
"shoulder.L": "LeftShoulder",
"upper_arm.L": "LeftUpperArm",
"forearm.L": "LeftLowerArm",
"hand.L": "LeftHand",
"shoulder.R": "RightShoulder",
"upper_arm.R": "RightUpperArm",
"forearm.R": "RightLowerArm",
"hand.R": "RightHand",
"thigh.L": "LeftUpperLeg",
"shin.L": "LeftLowerLeg",
"foot.L": "LeftFoot",
"toe.L": "LeftToes",
"thigh.R": "RightUpperLeg",
"shin.R": "RightLowerLeg",
"foot.R": "RightFoot",
"toe.R": "RightToes"
}