@@ -376,9 +376,52 @@ def MergeEyes():
376
376
377
377
# Deselect all objects
378
378
bpy .ops .object .select_all (action = 'DESELECT' )
379
+
380
+ def FixFingers ():
381
+ # Make sure armature is selected and active
382
+ bpy .context .view_layer .objects .active = armature
383
+ armature .select_set (True )
379
384
385
+ # Enter edit mode first
386
+ blender_utils .ChangeMode ("EDIT" )
387
+ print ("\n Starting finger renaming process..." )
380
388
381
-
389
+ # Rename thumb bones
390
+ for side in ["L" , "R" ]:
391
+ thumb1 = armature .data .edit_bones .get (f"Thumb1_{ side } " )
392
+ thumb4 = armature .data .edit_bones .get (f"Thumb4_{ side } " )
393
+ if thumb1 and thumb4 :
394
+ print (f"Renaming { thumb1 .name } to Thumb_{ side } " )
395
+ thumb1 .name = f"Thumb_{ side } "
396
+ # Rename remaining bones up the chain
397
+ for i in range (2 , 5 ):
398
+ old_name = f"Thumb{ i } _{ side } "
399
+ new_name = f"Thumb{ i - 1 } _{ side } "
400
+ if bone := armature .data .edit_bones .get (old_name ):
401
+ print (f"Renaming { old_name } to { new_name } " )
402
+ bone .name = new_name
403
+
404
+ # Rename finger bones
405
+ finger_types = ["Index" , "Middle" , "Ring" , "Little" ]
406
+ for finger in finger_types :
407
+ for side in ["L" , "R" ]:
408
+ finger1 = armature .data .edit_bones .get (f"{ finger } Finger1_{ side } " )
409
+ finger4 = armature .data .edit_bones .get (f"{ finger } Finger4_{ side } " )
410
+ if finger1 and finger4 :
411
+ print (f"Renaming { finger1 .name } to Bone_{ side } " )
412
+ finger1 .name = f"Bone_{ side } "
413
+ # Rename remaining bones up the chain
414
+ for i in range (2 , 5 ):
415
+ old_name = f"{ finger } Finger{ i } _{ side } "
416
+ new_name = f"{ finger } Finger{ i - 1 } _{ side } "
417
+ if bone := armature .data .edit_bones .get (old_name ):
418
+ print (f"Renaming { old_name } to { new_name } " )
419
+ bone .name = new_name
420
+
421
+ print ("\n Finger renaming completed" )
422
+ # Return to object mode
423
+ blender_utils .ChangeMode ("OBJECT" )
424
+
382
425
def Run ():
383
426
armature_utils .RenameBones (game , armature )
384
427
armature_utils .CleanBones ()
@@ -392,6 +435,7 @@ def Run():
392
435
CreateEyesBones ("Left Eye" , "Eye_L" )
393
436
CreateEyesBones ("Right Eye" , "Eye_R" )
394
437
MergeEyes ()
438
+ FixFingers ()
395
439
blender_utils .ResetCursor ()
396
440
397
441
0 commit comments