Gizmos for Cursor

I’m pretty fresh to blender. Coming from 3DSmax and Maya, a common thing I do when i finish modelling my base object is move the pivot (origin) of the model.

I could be missing something, but there doesn’t seem to be a fine grained/direct way to do this in Blender. It seems like you have to use the cursor to edit the pivot but to do that you have to awkwardly guide the cursor in by clicking your 2D window and hoping it ends up in the right 3D location, or by nudging sliders in the view panel (no snaps). Where as in Max and Maya, you have direct, 3D, gizmo based control over where you want to place/rotate the pivot (with snaps)

Is there currently a better way to re-position the pivot point (origin) / do you think it would be a good idea to allow gizmos to be associated with the cursor tool? I’m thinking it would be toggle-able to allow for screen manipulation, like is currently available, or direct manipulation like other DCC users are used to.

Or maybe we just need an edit origin toggle you can enter that gives you direct, gizmo based origin manipulation - no Cursor Tool changes required.


The ability to directly transform the origin has been requested a thousand of times, and yes you guessed, no luck.

Unfortunately we have to keep fighting with the cursor for that. And yea of course, the cursor should have a transform gizmo.


In order to add gizmos to directly transform the origin, we wouldn’t have to use the cursor at all. It’s ‘just’ a matter of adding a pivot point transform setting, so that moving, rotating, scaling would offset the origin only. The 3D cursor doesn’t have to be involved at all.

1 Like

Yeah i agree. I figured since the Cursor Tool was currently the only way to edit the origin in Blender (afaik), people might want to keep it similar.

But if people are down to just edit the origin directly, that’d be what i’d prefer to see

1 Like

Do you understand how this works programmatically? What is the operation of shifting the origin of the object? This is equivalent to the displacement of all the vertices of the object in a negative direction. And it seems that having such a tool is not very optimal.

This is how it works on all 3d apps, except blender.

1 Like

In the blender, the object has an origin, not a pivot. These are different things from a software point of view.
In a blender, the process of the worker is built a little differently. And for pivots there is a consrtaint “Pivot” (which is not working fine).
A direct change in the origin of the object will work quickly only for small meshes.

Not sure if you are familiar of what we are talking about here. Maybe you should check how this works in other 3d apps. :+1:

That’s exactly what I was talking about when I wrote about the “loss of uniqueness.” Someone uncomfortable, and this leads to the fact that the blender will slide in the direction of industrial standards. Although you will surely say that this is good, and that we need to hold hands and be happy.

The pivot of an object is a matrix describing the displacement of its mesh to some point. This is not a real bias, but only visual (when screen rendering). The origin of the object is different, it is the center of its local coordinate system. The point around which the object rotates in the blender is its origin and not the pivot. These are different things in terms of program code. Although they look the same to the user.
For example, when you transform an object from a 3D cursor, the cursor plays the role of a pivot, and for this you do not need to change the local positions of all the vertices of the object (shift its origin).


Surely you know, but I’ll clarify. Isn’t it more convenient to use the “apply” menu (Ctrl + A or Object/Apply/Location)? Doesn’t this method suit you?

Hey Auditorium,

Just so we’re clear, I am talking about the origin! It’s called a “pivot” in other software, but i’ll just call it origin for clarity

In 3DSmax and Maya, you can freely edit the origin. Like so:

This is generally how much freedom you have and how easy it is to manipulate the origin in other DCCs. I’d love for this level of direct manipulation in Blender

And no, the “Apply” method doesn’t work for me because it requires the Cursor Tool and working with the Cursor Tool is too imprecise and awkward to use. So rather than fiddling endlessly with the Cursor Tool, I’d much rather be able to use the full power of a Gizmo Tool to accurately place/snap my origin to exactly where i want it to be.

1 Like

Bear in mind that the cursor can be placed precisely by entering values in the transform boxes in the N panel. If you move the origin by code you will have to apply the changes to the origin to the location of all the vertices, or they will move also.

Cheers, Clock.

Edit: you can also use + & - signs for the transforms, so to move it 1 in X you can add +1 to what is already there then press return…


@AUDITORIUM , users need to edit origin because when a transformation is done by using 3D Cursor as pivot point, 3D Cursor does not change location like the object.
So, you place 3D Cursor for one event and next event its location is no more pertinent.

@ofx360 , you can place 3D Cursor where you want with precision.
By using active tool, you can enable snapping when snap 3D cursor on Grid points, on vertices, on edges, on faces, anywhere.
Or without using active tool, you can use Shift S menu to snap 3D cursor on active element, world origin, center of selection or closest grid point.

Then, you have to open Object menu or right click menu to obtain access to Set Origin submenu.

We all agree that will be better to have ability to do this in fewer steps.

1 Like

Hey, ofx360, “apply” does not require the use of a cursor.

It’s amazing how all this time people lived without it.

There are many ways to do this in a blender.
What is in Maya Max and others is (most likely) a pivot, not an origin. I tried to explain that this is not the same thing inside, in the program code. Pivots are a little more difficult to implement, and, in some ways, complicate the work. For example, getting the local coordinates of a vertex becomes longer.

I think for those who are not used to modeling in the style of a blender, it’s worth adding methods of such a shift in the origin, as in the above animation. It is quite simple to implement. True, the speed at the current level of mesh editing optimization will not be very high, especially for large meshes.
And I tried to explain that the pivot and the origin are not the same in terms of the SOFTWARE CODE. Try to read it before commenting.
Moving the pivot is the same as moving an ordinary object (changing matrices), and moving the origin is a completely different process.

I think you mean “weirdness” :wink:

1 Like

No, there is just one way by default. The Set Origin menu.
Apply menu is always setting origin at same location. It does not give users any other choice.

There are lots of choice of pivots.
But there is no pivot choice doing what ofx360 asks for, different than choosing Origin as Pivot.

1 Like

Yeah thanks for the suggestion, but directly entering values and nudging sliders is my current issue. Its just more inconvenient to me than precisely, directly moving the origin in 3d space like i can in other dccs

Also thanks for the suggestion. If i can axis snap the cursor to grids and verts, i’ll be happy!

My current solution to this is to create an empty object, place it exactly where i need, then snap the cursor to that point and set my origin. Its not too much of a hassle, but i’d love a more official way to do it.

I understand the difference between pivots and origin.

I appreciate that the mesh system isn’t in its most performant state currently, and I get the concern that this might not be performant to directly manipulate the origin and apply it to different positions every frame. There are more performant ways to do this, obviously, but if that is too big a change to how blender users think about modifying the origin, thats fine!

I think a more reasonable change could be giving toggle-able gizmo controls to the cursor. I think that would be good enough for me.