Short rant about how Blender manages pivot (object origin)

I hope this is something they’re planning to improve in a near future because I just can’t get used to it, to a guy coming from 3DSmax it doesn’t make sense at all.
Here’s an example from 3DSmax where you can position the object pivot independantly, using numerical values instead of relying on the 3D cursor which is a very bothersome process. Whenever I need use the mirror modifier I have to spend way more time than I should in order to position objects where I want (and sometimes I just have to give up).
It’s not a logical nor easy process, it deserves some love from the devs.

Also, since I’m a game dev, I always have to position an object pivot to its base before exporting, I also find this too complicated for what it should be.

You can use a custom Empty (or an another object) for the mirror modifier, you do not need t rely on the pivot. In fact that is the method I recommend.

1 Like

Can you specify?

Create an “Empty” not sure what you call that in Max, maybe Null? And select that empty as the mirror modifier controller in the panel. Then the empy can be used to control both the center and the rotation axis of the mirror

1 Like

I also came over from 3DS, and this was definitely one of the sticking points for me as well. That said, there are a few related tools that may not be immediately apparent, and once you’ve got them figured out, you’ll start to have some aha moments.

I’d recommend reading these fully, even if you are aware of the features. There may be some hidden gems of info in there to make your life a bit easier:
3D Cursor
Pivot Point
Object Origin

1 Like

Thanks for the help but “set object origin” shortcut doesn’t work in 2.8 and I can’t find it in the keymap. (if anyone knows this shortcut in 2.8 that would be greatly appreciated)

It’s like when I’m importing obj/fbx from other softwares and the axis keeps changing. The first time I was using Z axis for symmetry, export object, tweak in another software, import, now I have to use Y axis in order to mirror, despite the fact the object is the exact same place as it was initially.

Shift + S > Cursor to world origin
Object menu > Set origin > Origin to 3D cursor.
Now the origin is set to world origin.

I have a suggestion, please add:
Set origin > Origin to World origin

Edit 2: Omg, even after this mirror won’t work properly. Isn’t it supposed to be based on object origin?

Slightly quicker would be shift+c to reset the 3D cursor (It does zoom to all, however)

Then go to Object > Set Origin > Right click on Origin to 3D Cursor, and either add it to the quick (Q key) menu, or give it a hotkey, as you’ll probably end up using it a lot.

See my Modo-Me add-on (which is paid unfortunately) then, it deals with positoning cursor in various ways, though made mainly for Modo users, it can help you too. You can then position pivot to cursor, I will release an extended version soon.

Well thanks.

I really don’t understand how the modifier “mirror” works.
I create a sphere, mirror it to add eyes to my character. It worked.
I create a plane, deform it to add eyebrows and then use mirror modifier. Mirror will overlap the current position of the plane instead of being symmetrized.

Remember, both 3d cursor and object origin are located on world origin.

Same process, different results again.

Post your blend so we can see what you are doing wrong. I have no problems with mirror modifier if pvot point is properly placed. I’ve came from 3d max as well. First time i had lot of frustrations for such things like managing pivot point but now i feel much more comfortable after i got used to it.

This statement makes no sense to me. If you do the process you mention to make the “eyes” you would end up with 2 overlapping spheres until you moved the vertices in edit mode across the mirror axis. Same with the plane. As I cannot begin to guess what your process of “deforming” the plane mesh to make/add? eyebrows entails it’s very difficult to see where the issue you’re encountering is coming from.
If you want to clarify your understanding, I would suggest you post a Blend file where you lay out the process that ends up in unexpected results.

I think after you’ve used Blender for awhile you will find that the mirror mod works very well and has consistent behaviour.

  1. Cursor to Selected.
  2. Origin to Cursor.

For your mirror issues, I’m guessing that some objects might have been rotated at some point in their creation. Apply Rotation (Ctrl+A) before adding Mirror modifier.

The location of the 3D cursor has no effect at all on the Mirror modifier. By default objects are mirrored on their own Origin point. The 3D cursor is just a convenient way of moving things around.

I created two crude eyeballs and two crude eyebrows. Note where the Origin points for each of those two objects is. Note that the 3D cursor is not a factor.

1 Like

Indeed, I did as you say and the mirror worked properly this time. Honestly, if you didn’t tell me I wouldn’t have found out. Why “applying rotation” would finally make the mirror stop ignoring the object origin?

It’s not ignoring the origin. It’s using the rotation of the object. Both of these examples are of a single cube, with their origin’s roughly in the same area in regards to the geometry. Both have a Mirror modifier with default settings. I have turned on widgets showing the local axis as opposed to the global. The one that doesn’t appear to be mirrored is. It’s just that it’s mirrored across its own local X axis.

The ways around this are to be aware of when you rotate things in Object mode or Edit mode. Applying rotation with Ctrl+A is basically you telling Blender that the way the object is now should be considered its default state of rotation.

Okay, thanks for the help mate!

1 Like