Source Filmmaker: How to Rename Blender Bone Easily (Working 2022)

No more renaming bones the slow way! Just run this script, and they will be automatically renamed to the valve biped standard!

 

Tutorial

Basically, all you gotta do is use the cats blender plugin and press fix model. Now, no matter what kind of game it’s from, they should have the same exact bone names.

This means that when you run the script (by going to the top left of the 3d viewport and entering the text editor while having the armature selected, then pressing new, pasting the script in, and finally pressing play), it will know what bones to rename it to.

Then, just keep following whatever tutorial you were doing at the time. This is part of a larger guide I may release eventually that will explain in excruciating detail how to port models. Also credit to the guy who made the script for Mario Kart originally.
Hallow’s original MK script https://gamebanana.com/tools/6414

The script

Copy it all!
import bpy
context = bpy.context
obj = context.object
#you still need to fix it up until the point you would normally rename the bones
#credit to Hallow for original script https://gamebanana.com/tools/6414
namelist = [

#("BoneNameYouWantRenamed", "BoneNameToRenameBoneTo")
#Example:
#("chest_a", "Spine1"),
# Templete
("Hips", "bip_pelvis"),
("Spine", "bip_spine_0"),
("Chest", "bip_spine_1"),
("Neck", "bip_neck"),
("Head", "bip_head"),
("Right shoulder", "bip_collar_R"),
("Left shoulder", "bip_collar_L"),
("Right arm", "bip_upperArm_R"),
("Right elbow", "bip_lowerArm_R"),
("Right wrist", "bip_hand_R"),
("Left arm", "bip_upperArm_L"),
("Left elbow", "bip_lowerArm_L"),
("Left wrist", "bip_hand_L"),

("Right leg", "bip_hip_R"),
("Right knee", "bip_knee_R"),
("Right ankle", "bip_foot_R"),
("Right toe", "bip_toe_R"),

("Left leg", "bip_hip_L"),
("Left knee", "bip_knee_L"),
("Left ankle", "bip_foot_L"),
("Left toe", "bip_toe_L"),


#righthand
("Thumb0_R", "bip_thumb_0_R"),
("IndexFinger1_R", "bip_index_0_R"),
("MiddleFinger1_R", "bip_middle_0_R"),
("RingFinger1_R", "bip_ring_0_R"),
("LittleFinger1_R", "bip_pinky_0_R"),
("Thumb1_R", "bip_thumb_1_R"),
("IndexFinger2_R", "bip_index_1_R"),
("MiddleFinger2_R", "bip_middle_1_R"),
("RingFinger2_R", "bip_ring_1_R"),
("LittleFinger2_R", "bip_pinky_1_R"),
("Thumb2_R", "bip_thumb_2_R"),
("IndexFinger3_R", "bip_index_2_R"),
("MiddleFinger3_R", "bip_middle_2_R"),
("RingFinger3_R", "bip_ring_2_R"),
("LittleFinger3_R", "bip_pinky_2_R"),

#lefthand
("Thumb0_L", "bip_thumb_0_L"),
("IndexFinger1_L", "bip_index_0_L"),
("MiddleFinger1_L", "bip_middle_0_L"),
("RingFinger1_L", "bip_Ling_0_L"),
("LittleFinger1_L", "bip_pinky_0_L"),
("Thumb1_L", "bip_thumb_1_L"),
("IndexFinger2_L", "bip_index_1_L"),
("MiddleFinger2_L", "bip_middle_1_L"),
("RingFinger2_L", "bip_Ling_1_L"),
("LittleFinger2_L", "bip_pinky_1_L"),
("Thumb2_L", "bip_thumb_2_L"),
("IndexFinger3_L", "bip_index_2_L"),
("MiddleFinger3_L", "bip_middle_2_L"),
("RingFinger3_L", "bip_Ling_2_L"),
("LittleFinger3_L", "bip_pinky_2_L"),


]

for name, newname in namelist:
    # get the pose bone with name
    pb = obj.pose.bones.get(name)
    # continue if no bone of that name
    if pb is None:
        continue
    # rename
    pb.name = newname

 

Warning

Save beforehand. Also, it may not work with things with 4 or more legs. Bipeds though, it probably will. Also I think it works with the puppet script for every model.

Thanks to King Sans for his great guide, all credit to his effort. you can also read the original guide from Steam Community. enjoy the game.

Related Posts:

Post Author: Robins Chew

Leave a Reply

Your email address will not be published. Required fields are marked *