Re-do still hate it
This commit is contained in:
+59
-1
@@ -1,6 +1,6 @@
|
||||
import bpy
|
||||
import numpy as np
|
||||
from bpy.types import Context, Object, Modifier, EditBone
|
||||
from bpy.types import Context, Object, Modifier, EditBone, Operator
|
||||
from typing import Optional, Tuple, List, Set, Dict, Any, Generator, Callable
|
||||
from ..core.logging_setup import logger
|
||||
from ..core.translations import t
|
||||
@@ -485,3 +485,61 @@ def remove_unused_shapekeys(mesh_obj: Object, tolerance: float = 0.001) -> int:
|
||||
removed_count += 1
|
||||
|
||||
return removed_count
|
||||
|
||||
def save_armature_state(armature: Object) -> Dict[str, Any]:
|
||||
"""Save current armature state for recovery"""
|
||||
state = {
|
||||
'bones': {},
|
||||
'pose': {},
|
||||
'settings': {}
|
||||
}
|
||||
|
||||
# Save bone data
|
||||
for bone in armature.data.bones:
|
||||
state['bones'][bone.name] = {
|
||||
'head': bone.head_local.copy(),
|
||||
'tail': bone.tail_local.copy(),
|
||||
'roll': bone.roll,
|
||||
'parent': bone.parent.name if bone.parent else None
|
||||
}
|
||||
|
||||
# Save pose data if exists
|
||||
if armature.pose:
|
||||
for bone in armature.pose.bones:
|
||||
state['pose'][bone.name] = {
|
||||
'location': bone.location.copy(),
|
||||
'rotation': bone.rotation_quaternion.copy(),
|
||||
'scale': bone.scale.copy()
|
||||
}
|
||||
|
||||
return state
|
||||
|
||||
def restore_armature_state(armature: Object, state: Dict[str, Any]) -> None:
|
||||
"""Restore armature from saved state"""
|
||||
bpy.ops.object.mode_set(mode='EDIT')
|
||||
|
||||
# Restore bones
|
||||
for name, data in state['bones'].items():
|
||||
if name in armature.data.edit_bones:
|
||||
bone = armature.data.edit_bones[name]
|
||||
bone.head = data['head']
|
||||
bone.tail = data['tail']
|
||||
bone.roll = data['roll']
|
||||
|
||||
# Restore parenting
|
||||
for name, data in state['bones'].items():
|
||||
if data['parent'] and name in armature.data.edit_bones:
|
||||
bone = armature.data.edit_bones[name]
|
||||
if data['parent'] in armature.data.edit_bones:
|
||||
bone.parent = armature.data.edit_bones[data['parent']]
|
||||
|
||||
bpy.ops.object.mode_set(mode='POSE')
|
||||
|
||||
# Restore pose if exists
|
||||
if 'pose' in state:
|
||||
for name, data in state['pose'].items():
|
||||
if name in armature.pose.bones:
|
||||
bone = armature.pose.bones[name]
|
||||
bone.location = data['location']
|
||||
bone.rotation_quaternion = data['rotation']
|
||||
bone.scale = data['scale']
|
||||
|
||||
+89
-157
@@ -5,89 +5,97 @@
|
||||
# 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_shoulder": ["rightshoulder", "shoulderr", "rshoulder", "valvebipedbip01rclavicle"],
|
||||
"right_arm": ["rightarm", "armr", "rarm", "upperarmr", "rupperarm", "rightupperarm", "uparmr", "ruparm", "valvebipedbip01rupperarm"],
|
||||
"right_elbow": ["rightelbow", "elbowr", "relbow", "lowerarmr", "rightlowerarm", "lowerarmr","rlowerarm", "lowarmr", "rlowarm", "forearmr","rforearm", "valvebipedbip01rforearm"],
|
||||
"right_wrist": ["rightwrist", "wristr", "rwrist", "handr", "righthand", "rhand", "valvebipedbip01rhand"],
|
||||
|
||||
#hand l fingers
|
||||
"pinkie_0_r": ["littlefinger0r","pinkie0r","rpinkie0","pinkiemetacarpalr"],
|
||||
"pinkie_1_r": ["littlefinger1r","pinkie1r","rpinkie1","pinkieproximalr", "valvebipedbip01rfinger4"],
|
||||
"pinkie_2_r": ["littlefinger2r","pinkie2r","rpinkie2","pinkieintermediater", "valvebipedbip01rfinger41"],
|
||||
"pinkie_3_r": ["littlefinger3r","pinkie3r","rpinkie3","pinkiedistalr", "valvebipedbip01rfinger42"],
|
||||
|
||||
"ring_0_r": ["ringfinger0r","ring0r","rring0","ringmetacarpalr"],
|
||||
"ring_1_r": ["ringfinger1r","ring1r","rring1","ringproximalr", "valvebipedbip01rfinger3"],
|
||||
"ring_2_r": ["ringfinger2r","ring2r","rring2","ringintermediater", "valvebipedbip01rfinger31"],
|
||||
"ring_3_r": ["ringfinger3r","ring3r","rring3","ringdistalr", "valvebipedbip01rfinger32"],
|
||||
|
||||
"middle_0_r": ["middlefinger0r","middle0r","rmiddle0","middlemetacarpalr"],
|
||||
"middle_1_r": ["middlefinger1r","middle1r","rmiddle1","middleproximalr", "valvebipedbip01rfinger2"],
|
||||
"middle_2_r": ["middlefinger2r","middle2r","rmiddle2","middleintermediater", "valvebipedbip01rfinger21"],
|
||||
"middle_3_r": ["middlefinger3r","middle3r","rmiddle3","middledistalr", "valvebipedbip01rfinger22"],
|
||||
|
||||
"index_0_r": ["indexfinger0r","index0r","rindex0","indexmetacarpalr"],
|
||||
"index_1_r": ["indexfinger1r","index1r","rindex1","indexproximalr", "valvebipedbip01rfinger1"],
|
||||
"index_2_r": ["indexfinger2r","index2r","rindex2","indexintermediater", "valvebipedbip01rfinger11"],
|
||||
"index_3_r": ["indexfinger3r","index3r","rindex3","indexdistalr", "valvebipedbip01rfinger12"],
|
||||
|
||||
"thumb_0_r": ["thumb0r","rthumb0","thumbmetacarpalr"],
|
||||
"thumb_1_r": ['thumb1r',"rthumb1","thumbproximalr", "valvebipedbip01rfinger0"],
|
||||
"thumb_2_r": ['thumb2r',"rthumb2","thumbintermediater", "valvebipedbip01rfinger01"],
|
||||
"thumb_3_r": ['thumb3r',"rthumb3","thumbdistalr", "valvebipedbip01rfinger02"],
|
||||
|
||||
"right_leg": ["rightleg", "legr", "rleg", "upperlegr", "rupperleg", "thighr", "rightupperleg", "uplegr", "rupleg", "valvebipedbip01rthigh"],
|
||||
"right_knee": ["rightknee", "kneer", "rknee", "lowerlegr", "calfr", "rlowerleg", "rcalf", "rightlowerleg", "lowlegr", "rlowleg", "valvebipedbip01rcalf"],
|
||||
"right_ankle": ["rightankle", "ankler", "rankle", "rightfoot", "footr", "rfoot", "rightfoot", "rightfeet", "feetright", "rfeet", "feetr", "valvebipedbip01rfoot"],
|
||||
"right_toe": ["righttoe", "toeright", "toer", "rtoe", "toesr", "rtoes", "valvebipedbip01rtoe0"],
|
||||
|
||||
"left_shoulder": ["leftshoulder", "shoulderl", "lshoulder", "valvebipedbip01lclavicle"],
|
||||
"left_arm": ["leftarm", "arml", "rarm", "upperarml", "lupperarm", "leftupperarm", "uparml", "luparm", "valvebipedbip01lupperarm"],
|
||||
"left_elbow": ["leftelbow", "elbowl", "lelbow", "lowerarml", "leftlowerarm", "lowerarml", "llowerarm", "lowarml", "llowarm", "forearml","lforearm", "valvebipedbip01lforearm"],
|
||||
"left_wrist": ["leftwrist", "wristl", "lwrist", "handl", "lefthand", "lhand", "valvebipedbip01lhand"],
|
||||
|
||||
#hand l fingers
|
||||
|
||||
"pinkie_0_l": ["pinkiefinger0l","pinkie0l","lpinkie0","pinkiemetacarpall"],
|
||||
"pinkie_1_l": ["littlefinger1l","pinkie1l","lpinkie1","pinkieproximall", "valvebipedbip01lfinger4"],
|
||||
"pinkie_2_l": ["littlefinger2l","pinkie2l","lpinkie2","pinkieintermediatel", "valvebipedbip01lfinger41"],
|
||||
"pinkie_3_l": ["littlefinger3l","pinkie3l","lpinkie3","pinkiedistall", "valvebipedbip01lfinger42"],
|
||||
|
||||
"ring_0_l": ["ringfinger0l","ring0l","lring0","ringmetacarpall"],
|
||||
"ring_1_l": ["ringfinger1l","ring1l","lring1","ringproximall", "valvebipedbip01lfinger3"],
|
||||
"ring_2_l": ["ringfinger2l","ring2l","lring2","ringintermediatel", "valvebipedbip01lfinger31"],
|
||||
"ring_3_l": ["ringfinger3l","ring3l","lring3","ringdistall", "valvebipedbip01lfinger32"],
|
||||
|
||||
"middle_0_l": ["middlefinger0l","middle_0l","lmiddle0","middlemetacarpall"],
|
||||
"middle_1_l": ["middlefinger1l","middle_1l","lmiddle1","middleproximall", "valvebipedbip01lfinger2"],
|
||||
"middle_2_l": ["middlefinger2l","middle_2l","lmiddle2","middleintermediatel", "valvebipedbip01lfinger21"],
|
||||
"middle_3_l": ["middlefinger3l","middle_3l","lmiddle3","middledistall", "valvebipedbip01lfinger22"],
|
||||
|
||||
"index_0_l": ["indexfinger0l","index0l","lindex0","indexmetacarpall"],
|
||||
"index_1_l": ["indexfinger1l","index1l","lindex1","indexproximall", "valvebipedbip01lfinger1"],
|
||||
"index_2_l": ["indexfinger2l","index2l","lindex2","indexintermediatel", "valvebipedbip01lfinger11"],
|
||||
"index_3_l": ["indexfinger3l","index3l","lindex3","indexdistall", "valvebipedbip01lfinger12"],
|
||||
|
||||
"thumb_0_l": ["thumb0l","lthumb0","thumbmetacarpall"],
|
||||
"thumb_1_l": ['thumb1l',"lthumb1","thumbproximall", "valvebipedbip01lfinger0"],
|
||||
"thumb_2_l": ['thumb2l',"lthumb2","thumbintermediatel", "valvebipedbip01lfinger01"],
|
||||
"thumb_3_l": ['thumb3l',"lthumb3","thumbdistall", "valvebipedbip01lfinger02"],
|
||||
|
||||
"left_leg": ["leftleg", "legl", "lleg", "upperlegl", "lupperleg", "thighl", "leftupperleg", "uplegl", "lupleg", "valvebipedbip01lthigh"],
|
||||
"left_knee": ["leftknee", "kneel", "lknee", "lowerlegl", "llowerleg", "calfl", "lcalf", "leftlowerleg", 'lowlegl', 'llowleg', "valvebipedbip01lcalf"],
|
||||
"left_ankle": ["leftankle", "anklel", "rankle", "leftfoot", "footl", "lfoot", "leftfoot", "leftfeet", "feetleft", "lfeet", "feetl", "valvebipedbip01lfoot"],
|
||||
"left_toe": ["lefttoe", "toeleft", "toel", "ltoe", "toesl", "ltoes", "valvebipedbip01ltoe0"],
|
||||
|
||||
"hips": ["pelvis", "hips", "hip", "valvebipedbip01pelvis"],
|
||||
"spine": ["torso", "spine", "valvebipedbip01spine"],
|
||||
"chest": ["chest", "valvebipedbip01spine1"],
|
||||
"upper_chest": ["upperchest", "valvebipedbip01spine4"],
|
||||
"neck": ["neck", "valvebipedbip01neck1"],
|
||||
"head": ["head", "valvebipedbip01head1"],
|
||||
"left_eye": ["eyeleft", "lefteye", "eyel", "leye"],
|
||||
"right_eye": ["eyeright", "righteye", "eyer", "reye"],
|
||||
"right_shoulder": ["rightshoulder", "shoulderr", "rshoulder", "valvebipedbip01rclavicle", "右肩"],
|
||||
"right_arm": ["rightarm", "armr", "rarm", "upperarmr", "rupperarm", "rightupperarm", "uparmr", "ruparm", "valvebipedbip01rupperarm", "右腕"],
|
||||
"right_elbow": ["rightelbow", "elbowr", "relbow", "lowerarmr", "rightlowerarm", "lowerarmr", "rlowerarm", "lowarmr", "rlowarm", "forearmr", "rforearm", "valvebipedbip01rforearm", "右ひじ"],
|
||||
"right_wrist": ["rightwrist", "wristr", "rwrist", "handr", "righthand", "rhand", "valvebipedbip01rhand", "右手首"],
|
||||
"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", "右足"],
|
||||
"right_knee": ["rightknee", "kneer", "rknee", "lowerlegr", "calfr", "rlowerleg", "rcalf", "rightlowerleg", "lowlegr", "rlowleg", "valvebipedbip01rcalf", "右ひざ"],
|
||||
"right_ankle": ["rightankle", "ankler", "rankle", "rightfoot", "footr", "rfoot", "rightfoot", "rightfeet", "feetright", "rfeet", "feetr", "valvebipedbip01rfoot", "右足首"],
|
||||
"right_toe": ["righttoe", "toeright", "toer", "rtoe", "toesr", "rtoes", "valvebipedbip01rtoe0", "右つま先"],
|
||||
"left_shoulder": ["leftshoulder", "shoulderl", "lshoulder", "valvebipedbip01lclavicle", "左肩"],
|
||||
"left_arm": ["leftarm", "arml", "larm", "upperarml", "lupperarm", "leftupperarm", "uparml", "luparm", "valvebipedbip01lupperarm", "左腕"],
|
||||
"left_elbow": ["leftelbow", "elbowl", "lelbow", "lowerarml", "leftlowerarm", "lowerarml", "llowerarm", "lowarml", "llowarm", "forearml", "lforearm", "valvebipedbip01lforearm", "左ひじ"],
|
||||
"left_wrist": ["leftwrist", "wristl", "lwrist", "handl", "lefthand", "lhand", "valvebipedbip01lhand", "左手首"],
|
||||
"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", "左足"],
|
||||
"left_knee": ["leftknee", "kneel", "lknee", "lowerlegl", "llowerleg", "calfl", "lcalf", "leftlowerleg", "lowlegl", "llowleg", "valvebipedbip01lcalf", "左ひざ"],
|
||||
"left_ankle": ["leftankle", "anklel", "lankle", "leftfoot", "footl", "lfoot", "leftfoot", "leftfeet", "feetleft", "lfeet", "feetl", "valvebipedbip01lfoot", "左足首"],
|
||||
"left_toe": ["lefttoe", "toeleft", "toel", "ltoe", "toesl", "ltoes", "valvebipedbip01ltoe0", "左つま先"],
|
||||
"hips": ["pelvis", "hips", "hip", "valvebipedbip01pelvis", "腰"],
|
||||
"spine": ["torso", "spine", "valvebipedbip01spine", "脊椎"],
|
||||
"chest": ["chest", "valvebipedbip01spine1", "胸"],
|
||||
"upper_chest": ["upperchest", "valvebipedbip01spine4", "上胸"],
|
||||
"neck": ["neck", "valvebipedbip01neck1", "首"],
|
||||
"head": ["head", "valvebipedbip01head1", "頭"],
|
||||
"left_eye": ["eyeleft", "lefteye", "eyel", "leye", "左目"],
|
||||
"right_eye": ["eyeright", "righteye", "eyer", "reye", "右目"],
|
||||
}
|
||||
|
||||
|
||||
# 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',
|
||||
@@ -166,79 +174,3 @@ resonite_translations = {
|
||||
'thumb_2_r': "thumb2.R",
|
||||
'thumb_3_r': "thumb3.R"
|
||||
}
|
||||
|
||||
mmd_bone_renames = {
|
||||
# Core body
|
||||
"センター": "Center",
|
||||
"グルーブ": "Groove",
|
||||
"腰": "Waist",
|
||||
"上半身": "Upper Body",
|
||||
"上半身2": "Upper Body 2",
|
||||
"下半身": "Lower Body",
|
||||
|
||||
# Head
|
||||
"首": "Neck",
|
||||
"頭": "Head",
|
||||
"両目": "Eyes",
|
||||
"左目": "Eye_L",
|
||||
"右目": "Eye_R",
|
||||
|
||||
# Arms
|
||||
"左肩": "Shoulder_L",
|
||||
"左腕": "Arm_L",
|
||||
"左ひじ": "Elbow_L",
|
||||
"左手首": "Wrist_L",
|
||||
"右肩": "Shoulder_R",
|
||||
"右腕": "Arm_R",
|
||||
"右ひじ": "Elbow_R",
|
||||
"右手首": "Wrist_R",
|
||||
|
||||
# Fingers
|
||||
"左親指1": "Thumb1_L",
|
||||
"左親指2": "Thumb2_L",
|
||||
"左人指1": "Index1_L",
|
||||
"左人指2": "Index2_L",
|
||||
"左人指3": "Index3_L",
|
||||
"左中指1": "Middle1_L",
|
||||
"左中指2": "Middle2_L",
|
||||
"左中指3": "Middle3_L",
|
||||
"左薬指1": "Ring1_L",
|
||||
"左薬指2": "Ring2_L",
|
||||
"左薬指3": "Ring3_L",
|
||||
"左小指1": "Pinky1_L",
|
||||
"左小指2": "Pinky2_L",
|
||||
"左小指3": "Pinky3_L",
|
||||
|
||||
"右親指1": "Thumb1_R",
|
||||
"右親指2": "Thumb2_R",
|
||||
"右人指1": "Index1_R",
|
||||
"右人指2": "Index2_R",
|
||||
"右人指3": "Index3_R",
|
||||
"右中指1": "Middle1_R",
|
||||
"右中指2": "Middle2_R",
|
||||
"右中指3": "Middle3_R",
|
||||
"右薬指1": "Ring1_R",
|
||||
"右薬指2": "Ring2_R",
|
||||
"右薬指3": "Ring3_R",
|
||||
"右小指1": "Pinky1_R",
|
||||
"右小指2": "Pinky2_R",
|
||||
"右小指3": "Pinky3_R",
|
||||
|
||||
# Legs
|
||||
"左足": "Leg_L",
|
||||
"左ひざ": "Knee_L",
|
||||
"左足首": "Ankle_L",
|
||||
"右足": "Leg_R",
|
||||
"右ひざ": "Knee_R",
|
||||
"右足首": "Ankle_R",
|
||||
|
||||
# Toes
|
||||
"左つま先": "Toe_L",
|
||||
"右つま先": "Toe_R",
|
||||
|
||||
# IK bones
|
||||
"左足IK": "Leg_IK_L",
|
||||
"右足IK": "Leg_IK_R",
|
||||
"左つま先IK": "Toe_IK_L",
|
||||
"右つま先IK": "Toe_IK_R"
|
||||
}
|
||||
|
||||
+13
-21
@@ -116,30 +116,22 @@ class AvatarToolkitSceneProperties(PropertyGroup):
|
||||
max=1.0
|
||||
)
|
||||
|
||||
mmd_keep_upper_chest: BoolProperty(
|
||||
name=t("MMDTools.keep_upper_chest"),
|
||||
description=t("MMDTools.keep_upper_chest_desc"),
|
||||
mmd_process_twist_bones: BoolProperty(
|
||||
name=t("MMD.process_twist_bones"),
|
||||
description=t("MMD.process_twist_bones_desc"),
|
||||
default=True
|
||||
)
|
||||
|
||||
mmd_connect_bones: BoolProperty(
|
||||
name=t("MMD.connect_bones"),
|
||||
description=t("MMD.connect_bones_desc"),
|
||||
default=True
|
||||
)
|
||||
|
||||
mmd_remove_unused_bones: BoolProperty(
|
||||
name=t("MMDTools.remove_unused"),
|
||||
description=t("MMDTools.remove_unused_desc"),
|
||||
default=True
|
||||
)
|
||||
|
||||
mmd_merge_distance: FloatProperty(
|
||||
name=t("MMDTools.merge_distance"),
|
||||
description=t("MMDTools.merge_distance_desc"),
|
||||
default=0.001,
|
||||
min=0.0001,
|
||||
max=0.1
|
||||
)
|
||||
|
||||
mmd_cleanup_shapekeys: BoolProperty(
|
||||
name=t("MMDTools.cleanup_shapekeys"),
|
||||
description=t("MMDTools.cleanup_shapekeys_desc"),
|
||||
default=True
|
||||
save_backup_state: BoolProperty(
|
||||
name="Save Backup State",
|
||||
description="Save the initial state of the armature before standardizing bones",
|
||||
default=False
|
||||
)
|
||||
|
||||
def register() -> None:
|
||||
|
||||
Reference in New Issue
Block a user