Currently, bone constraints default to World Space, which isn’t (in my view) ideal. I believe World Space should be the default for object constraints and Local Space should be the default for bone constraints.
This isn’t a discussion for the sake of discussion- I’ve been encouraged by the animation module developers to gather input from riggers on this subject. If there’s a consensus that yes, bone constraints should use Local Space, I’m going to submit a patch changing this that would be targeted for 3.6 LTS. So, your input here matters quite a lot.
Should bone constraints default to Pose Space?
Edit: I’m realizing Pose is the wrong choice, everyone uses Local (myself included). Consider a vote for “Pose” space a vote for “Local” space, because I can’t edit the poll now
I’m a bit ashamed to admit that I barely never used pose space in all these years as a professional rigger But 98% of the time for sure I switch to local space.
I should definitely give Pose space a trial !
I’ve got quite mixed feelings here.
When I think at all these constraint I added and switched the type right away …
In the meantime , I found World space to be very predictable. I think for a beginner it might be reassuring. In that sense I’m in favor of keeping defaults.
Another thing that is worth checking, is that animators uses a few constraints, the most used being child of.
These are also I think users that will need good defaults the most, since they generally don’t really know what they are doing but need the job to get done.
For now I didn’t vote yet, I agree that it’s a little annoyance, this never bothered much since I spend a lot of time thinking and testing. What I mean is that I spend much time testing stuff than operating bones. I never experienced a kind of “flow breakage”, like you could have maybe when speed modeling and you want nothing in your way.
But that’s a good question, I’ll keep thinking a bit about it and I’m registering to that thread right away !
This is a very interesting perspective, definitely not one I had considered, so I’m glad you shared it I’m surprised to hear you’ve never used pose space, although I suppose pose/local space aren’t terribly different in terms of bone-to-bone constraints.
My vision here revolves around bone-to-bone constraints pretty much exclusively; in my head, bone constraints are for bone-to-bone cases (most of the time), and object constraints are for rigging involving empties etc. In that use case, Pose Space makes more sense than World Space, but that definitely isn’t the only use case.
When I rig, I don’t really use empties, if I need an empty, I usually just add a bone instead. I think I have some blind spots here, because I know hard surface riggers often use empties. @bandages , you’re a prfoessional hard-surface rigger, can you weigh in on this discussion?
Just to be clear, I don’t use empties that much either !
At least not in a way that concerns us here. Like you most of the time it’s better to use only bones.
Or, say I do a quick camera rig for a shot I’ll use only object constraints. And world space makes more sense here.
Hahah, yeah quite similar even if I don’t get the difference
I guess this subject as already been discussed among long term riggers involved in the blender development / open movies ? I think about Bassam Kurdali, Nathan Vedgdal , Dimiter ?
At least it could be cool to get their inputs on that as well ! We might summon them if needed ?
I’ll also invoke @pullup since he can get feedback from the animation studio where he is working.
I always forget that Pose space exists. I mostly use Local or Local with Parent. I should be using Pose space though.
For myself, I wouldn’t mind it being the default. It may be confusing for newer users though. It is readily apparent what World Space does and that it isn’t the final space you want for most setups. Not so for Pose Space.
I’m also not entirely clear on how Pose Space defines the root bone. I know how it works in the context of a full character rig, but I’m not sure how it would work in other situations. Or when making rigs one component at a time and then combining them.
As far as I know, Pose space is, more or less, the same as Local with Parent- that is to say, it ignores the transforms of the root bone entirely, which makes constraints like Copy Location or Copy Rotation much easier bone-to-bone. I see Pose space as a simpler, more intuitive label for Local with Parent.
This is the main concern that Sybren Stüvel had. I’d love to hear some input from less experienced riggers as well, hopefully.
This is my motivation for switching - I find that World Space is almost always not what you want, so it makes sense to me to change the default to something more useful. The question is if that outweighs the fear of confusing of newer users, though
Bone Constraints get very complicated, and I don’t think we should have an expectation of them working for new users without some study anyway. And once you start studying them, the transform spaces are easy to learn.
In other words, I’m not sure it makes sense to cater to new users in this feature when the entire thing is already so unfriendly to new users. Having defaults cater to new users makes sense when you can build something with only partial understanding of the features and have it work if you mostly leave it on defaults. But that isn’t the case for bone constraints anyway, so its probably fine to just let it be convenient for regular users.
I agree- in my head, a brand new rigger is going to be confused by why bone constraints are acting wonky anyway (if they leave the default at World Space), there’s not really a good way to make things “simple” for them when this is such a complex subject. I personally would rather cater to more experienced users here; honestly, I doubt brand-new Blender users are using bone constraints much anyway
However, don’t even think of devs having common-sense on this. They just are unable to consider proper parent/child handling… for bones, maybe your children or grand-children will see changes in blender
I believe that add-ons will ( as usual ) fill blender lacks ?
I stopped hoping amazing functionnal things from blender. I just use the base, wich is great and stable and for the other things, addons and python is the only way to go…
I know this is a shame ( and i might get rumbling answers ) but this is my each-day reality
“However, don’t even think of devs having common-sense on this. They just are unable to consider proper parent/child handling”
I think you are well aware that in an open source project like this, and with a title of add-on Developer, YOU are part of the “devs”, you are talking about.
So if you have feedback that is constructive and want to see something changed (which is why this thread was started by the way because a lot of us are working to improve a very large part of the rigging and animation tools) please link us to your threads here or on Right Click Select that you started or that you think have been over looked and share it with the animation module, @pitibonom
Looking forward to hearing what should be changed to improve parent/child handling.
bones : 227
constraints : 138
WORLD : 115
LOCAL : 23
Interestingly enough there are a bunch of world constraints, much more than expected…
Could be super cool to test on other rig at hands, feel to test that !
Obviously since I rigged all of them they fall under the same patterns, I don’t think we should try
to take the most used but this can be informative nonetheless !