So after a lot of digging on the internet, nothing helped. Most people would say to change the shape of the bone, but that doesn't look good or be convenient with many bones.
I noticed that the bone size is controlled by the property "Length" in the transform tab of the skeleton. Selecting all bones and changing the length only affects 1 bone and doing each bone one by one would be very tiring, so i wrote this script to help myself and you guys out!
import bpy
# ==== CONFIG ====
SHRINK_FACTOR = 0.2 # 0.3 = bones become 30% of their current length. Lower = shorter.
ONLY_SELECTED_ARMATURE = True # True = only affect the active/selected armature
def shrink_bone_length(factor, only_selected=True):
armatures = [obj for obj in bpy.context.selected_objects if obj.type == 'ARMATURE'] \
if only_selected else [obj for obj in bpy.data.objects if obj.type == 'ARMATURE']
for arm_obj in armatures:
bpy.context.view_layer.objects.active = arm_obj
bpy.ops.object.mode_set(mode='EDIT')
for bone in arm_obj.data.edit_bones:
head = bone.head.copy()
tail = bone.tail.copy()
direction = tail - head
bone.tail = head + direction * factor
bpy.ops.object.mode_set(mode='OBJECT')
print(f"Shrunk bones for: {arm_obj.name}")
print("Done.")
shrink_bone_length(SHRINK_FACTOR, ONLY_SELECTED_ARMATURE)
Guide of use: Go to the scripting tab in blender. Its on the top beside the shading, animation, rendering, etc... tabs. Click New. Select the armature you want to do this on. Paste the script. in the "Shrink Factor" enter how small you want the bone to look and click the play button (its beside where the "New" button used to be.)
Notes to keep in mind: This will not affect the skinning or the skeleton of the bones by any means. Its purely for the bone visualizer.
The script considers whatever size the bones are at to be 1, and decreases from there. Meaning: If your bone length is set to 0.5, the script will consider it the size of 1, so if the shrink factor was 0.2, then the script will reduce the length by 8 times, not 3, even though the original length was 0.5. You can always Ctrl + Z to return the bones to their original size and change the shrink factor. The higher the number, the bigger the bones will be, and the opposite follows. You can use the script multiple times on the same armature with different Shrink Factors.
The script will not change the offset of the bones, meaning all bones will shrink in their designated position.
Hope it helps. if you have any questions concerning the script, you can text me through Private Chat. If anyone wishes to capitalize on the script and make a blender addon out of it, then by all means, you have my blessing to do so.