Space switching in Blender?

I’m a fairly experienced 3D artist who recently switched over to Blender. Trying to wrap my head around the transition. One question is if anyone knows a simpler way to handle space-switching in blender rigs.

Not sure blender uses the same label, but in Maya it’s very easy to switch the coordinate space of a piece of the rig, between world, character, or some parent space—say for instance your character is interacting with a prop, you’d want to switch between a free hand and a hand that was tied to the prop.

You can certainly do this with a few nulls and child to constraints, but if you have to switch between multiple spaces in a single shot, it’s cumbersome. Does anyone know of a better way?

This is an example of an add-on for Maya:

Did you find any useful Blender space switching resources?

Not really. I haven’t found any add-ons or tools that make it as easy as it is in some programs. I think I did read that the updated rigify that comes with 2.82 now has some better space switching tools, but since the rigs I’m currently working with were built in 2.80 I haven’t really had time to look into it.

Basically I use a process similar to this:

However, unlike what’s in that video, in general I found it more reliable to not constrain the actual geo and/or bones. What I generally do is create a empty (null) constrained to each object and then parent or constrain those depending on what I need to do.

So, for instance, if I have a character pick up a cane and start walking, I’d create a null and constrain it to the cane handle and another null constrained to the hand bone, then I’d animate two separate “child of” constraints to change which was the parent and which was the child.

Let me know what you’re trying to do and I can help. And if you’re doing a character, I would look at the new rigify and see if their new tools help at all.

I should say that the reason I use the extra nulls is that it allows you an easy way to set offsets if you have to adjust the exact placement of a constrained object. Plus if something goes wrong, you don’t risk messing up the rig itself. You can just delete the attach null and you haven’t really messed with the rig itself.

As a general rule, I don’t like burying additional constraints in a rig itself. When I (or another animator/rigger) go back several months later it’s easier to see what was added and what was in the original rig.

Someone called Fin eskimo is creating an addon which will feature a bunch of different space switching stuff for blender. He is working with pierrick picaut who made the video above

That’s great news. Still, IMO, a real weakness of Blender coming from other programs. If you hear anything more, please link to this thread.

I think Active element is your friend… if you select an object last and deselect it, it will stay the active transformation reference… no needs of addons for that.
For external object… i didn’t try
active_element

1 Like

How do you use that active element thing?
When i deselect the second object the gizmo goes back to the first one unlike in your example.
Also, i don’t know how you show the pie menu in your example.

I haven’t had active element working like described, but you can always make a custom orientation. Ctrl alt space.

1 Like

CTRL+Alt+Spaces gives me full screen mode

Operation is “create orientation” if you want to search for it in your keybinds or via search menu.

1 Like

“Create orientation” doesn’t make an object pivot from another’s object origin, it just uses the orientation space of another object.

That’s a cool feature though.

Oh, pardon, I misunderstood what you were going for.

You can combine that with rotation about a cursor if you want, and you can snap a cursor to anything you feel like.

Although note that rotation about pivot points, regardless of whether they’re active element or cursors or anything else besides an object’s natural origin, are going to create some bad interpolation. They’re not true rotations, but combinations of rotation and translation.

1 Like

I found it!

I know it translates too but thats fine.
With this i guess you can manipulate an IK arm like an FK one!
Of course it wont react like a FK but still, that is pretty nice.

active_element
ca marche

2 Likes

active_element2

2 Likes

Thanks, that’s a pretty cool trick. But I don’t think it really solves the space-switching thing. Very often you want to switch between bone space and the local space of an external object. I don’t see how you could select the bone in pose mode and then select the external object. Unless I’m missing something.

By constraining the object to a inner free bone. by inner i mean in the armature.

1 Like

Yeah this got side tracked a little!

Theres a great tool in Maya called EBLabs Worldspace Tool. It’s like a macro as it creates a bunch of commands for the user automatically, operations like the one in the monkey helmet animation you posted:

From what i understand, space switches in Maya are just different parent constraints but being able to switch them on/off in one easy operation from an easily created custom attribute channel is very nice.

There is this addon i want to try as also need to find an efficient workflow to manage constraints.
The addon seems more like a straight forward approach, creating a bunch of constraints instead of just few commonly used ones.

I’ve made a free addon called Snap Constraints. Besides support FK/IK snapping, it supports space switching. There’s no official video tutorial, but the workflow matches that of normal space switching where you have to pair off keys when you switch spaces.

2 Likes