Naming your bones for easier manipulation/scripting

Not sure how important this is, but I figured I’d ask.

when you name a bone, for a bipedal character for example, you usually need to convery 3 things:
1.) it’s a bone, 2.) what body part it mimics and often 3.) left side /right side

but which order you arrange these can impact how they display in various list editors/views and possibly make them faster to hunt down when you need to type in a search filter.

you could have, for a forearm:

bone_forearm_left
bone_left_forearm
left_forearm_bone
DEF_larm2
Joint_l_forearm
etc…

what sort of convention do you follow and why? does it facilitate any technical advantages or create occasional headaches?

When it comes to naming conventions, i like to arrange the elements from least specific to most specific.

So if we had three types of data, Joint, Arm, and Left I would start with the more generic and work towards the most specific.

Joint_Arm_Left

Now you can make a strong case for “Left” being more generic than “Arm”… it’s kinda up to you.

http://www.animschoolblog.com/2012/07/animschool-classtime-tricks-with-naming.html here is one example, he has a good demo of why he names the bones the way he does.

that does make sense, however I find I only try to use what I need to.
I prefer not to state that its a joint or bone, I can filter via type without needing it in the name of the object.
I also take into account what takes priority, for me its whether its a bind joint, side, type and count. All the while trying to account for differences (four arms, two heads, etc)
for example:
bn_left_armA_roll1

I used to think that naming things properly was important - then I wised up. If you work with people who have just a slight case of “prima donna”, naming conventions go out the window. You end up having to be the Naming Nazi. It’s much better to let them do what they want and store the important info you need as tags. Much more control and many more things you can store. Try putting the default world matrix as part of the controller name next time and see if you can get that past your animators.

+1 haha
More indepth/reusable stuff I’ll use tags and metadata much cleaner.

It’s good to be consistent with naming, but at the end of the day if you’re running anim pipelines and writing any kind of tools then relaying on naming is a bad idea. Tagging, metadata, character definition, all great methods. HIK character defs are good for managing joint data too. I’m about to push out the latest Red9 StudioPack aimed at just this, managing complex rigging structures through metaData wiring and networks… :wink: