Affect pivot point in edit mode

You clearly don’t understand the difference, in maya if the mesh is selected then i only hold ‘D’ then click on any elements it automatically snaps it to verts/edges and face or anything else and the moment i release the key it goes back to the transform tools, while in blender you have:
1 - set the 3d cursor as the active tool or use shift+RMB.
2- Enable all snapping modes that needed for the 3d cursor to snap to.
3- set the 3d cursor as the active pivot point.
4 - select the mesh.
5- go back to the transform tools or use G.R.S.
6- go back to the 3d cursor to change the pivot…etc
Your demo skips the snapping to the modes which is very important, i always thought maya will go wtih the slow way of using a tool and blender with the hotkeys but in this one it seems they reversed their ways, the fast way is always the best way and the 3d cursor makes it slow in this case.

1 Like

You know what, if you could snap the 3d cursor to the current pivot then I would agree with you, but you’re wrong. It’s annoying as heck when the transform is based on empty space.

First you can activate snap with ctrl… If like you told you need to made hundreds of times that daily you will need to have that activate all day, so no problem. It’s more easy ask for a little improvement in the snaping system.

my video don’t ignore nothing. And only you need to add two clicks, still being two clicks less than maya.

It’s hard to debate on how often a problematic scenario will arise for you or not. It depends on the kind of work you are doing. @clockmender would heartly disagree on that statement you made I’d say.

Another not mentioned problem with the 3dcursor lies in its many modes. It’s quite likely that the moment I want to start a tweak of the pivot point, it’s setup completely wrong, cause I used it differently 5 minutes ago, so I first set it up, and then I start editing. That’s never as fast as having a direct shortcut for that.

1 Like

That’s the difference u have to make choices either you use the 3d cursor as a tool but won’t have 3d gizmos along side the transform tools or use shift+RMB to move it but can’t use Ctrl for snapping so you have to turn on snapping all the time and you have to jump between Median Point and 3d cursor for pivot point, I used both and maya’s way is much faster than blender’s and now you forgot that snapping in blender is not dynamic but user have to choose which one to pick or activate a mix of them so it’s more clicks than you think.

AGAIN, even in zbrush I can directly move the gizmo/pivot. They have a beautiful lock icon next to the gizmo to lock/unlock it.

Blender is the only app that can’t do that (in edit mode).
Why it’s so hard for people to understand what we are talking about here? Stop talking about the 3d cursor, it has nothing to do with the feature we are requesting here. Oof.

8 Likes

Exactly, that’s all what we need an option like that and works with atuo-snapping to anything when moved and it’s done, no need to over complicate things.

2 Likes

So, being a CAD operator of many years, nearly 40… I like this approach using my PDT:


In this example the Pivot Point was positioned -1.5 in X from the active Vertex using the command (in the Command Line) pd-1.5,0, (all zeros could be omitted).

  • Place Pivot Point Accurately (there are many ways to do this, including having a “default” location written to the object).
  • Set Angle (-12.5 in this case)
  • Click Rotate.

Job done. Pivot Point is not influenced by Cursor, so if you are going to use the Pivot Point in its current location many times, but need to keep moving the cursor to place new geometry, the problem has gone away completely. Pivot Point can also be used for scaling.

I guess Gizmos could be made to do this quite easily in time, but is this a very high priority for Blender development? I like the Lock on ZBrush…

Cheers, Clock.

And what now? How do we convince the blender development team on this?

This thread has many posts, which one are you referring to?

A basic ‘Alt + LMB on gizmos to move the cursor when it’s used as a pivot point’ feature is fairly straight forward — All you really need to do is add P_CURSOR_EDIT flags to the operators that need it in transform_ops.c and throw something like the following into WIDGETGROUP_gizmo_invoke_prepare in transform_gizmo_3d.c

  /*Transform Cursor on Alt*/
  wmWindow *win = CTX_wm_window(C);
  Scene *scene = CTX_data_scene(C);
  bool cursor_check = win->eventstate->alt;
  const int cursor_piv = scene->toolsettings->transform_pivot_point;
  wmGizmoOpElem *gzop = WM_gizmo_operator_get(gz, 0);
  PointerRNA *ptr = &gzop->ptr;
  PropertyRNA *prop_transform_cursor_and = RNA_struct_find_property(ptr, "cursor_transform");
  if (cursor_check && (cursor_piv == V3D_AROUND_CURSOR)) {
    RNA_property_boolean_set(ptr, prop_transform_cursor_and, 1);
  }
  else {
    RNA_property_boolean_set(ptr, prop_transform_cursor_and, 0);
  }

But that’s where the easy stuff stops. Moving the 3D cursor and a selection simultaneously (read: not using a python hack to repeat the operation with some flags flipped) isn’t a straightforward process, and I’d prefer to let Germano finish his refactor before we take a knife to things.

I believe he means this: :point_down:

since this is what we are requesting and that’s what this thread is all about. Everything else is just people trying to provide a workaround with the 3d cursor etc.

1 Like

It is not more easy simply give an option to change the pivot point automatically to 3d cursor until the user change selection?

Option not activated, classic behavior
Option activated

  • if user have pivot point to the 3D cursor, nothing happens when he move the 3d cursor
  • if user have other pivot point, when he move the 3D cursor it automatically change to pivot point 3D cursor mode until heb change the selection, or other behavior similar to other pivot points.

It is the same UX. The program only make automatically the change to pivot that add more clicks

With this solution all user see an improvement without touch the way to work. It can be activated by default because when people move the 3d cursor is to use it like pivot.

Hi @ideasman42,
really glad, that this thread still gets some attention from you.
I am not sure on the form, how proposals like this normally get made in this forum. I also think that you have some internal style guidelines that should and would influence how this turns into a good extension of blenders toolset. But other than this long thread implies, there is alot of agreement in general on such a feature among most people in here.

To sum it up there are about three different proposals or concepts in this thread. One option has been to map it to the 3dcursor and give it some new modes, one is to have a separate pivot point visible all time and being completely separate. The third one is the one I think most people would agree on. It’s the one i’d personally prefer too and it’s the solution that can be found in a wide range of 3dtools out there.

That solution is about being able to activate and deactivate an “edit pivot mode” that changes the behaviour of the current visible transform gizmo. If the “edit pivot mode” is on it will change its own position and will not affect the currently selected meshpart. After the end of the editphase it stays at the modified position and orientation and can be used normally to transform the selected mesh parts. (The main aspect of this new mode should be that its possible to edit the pivot as directly as possible, so no 3dcursor setttings needed prior to it and no additional commands to set it should be involved)

Some early suggestions in this thread wanted it to be available in to be mapped in edit mode to a similar checkbox like the Affect Origins one in object mode also as a checkbox to toggle on and off. That could be a valid place to trigger it via the ui.

But it would also be benefitial to activate and deactivate it even quicker with one or more of the options proposed, may it be in form of a modifier key (sticky key behaviour) that can be hold and released, or small toggle buttons aligned at the gizmo itself as adaption of zbrushs gizmo or even with just its most simplest form as a shortcut for the toggle to turn it on and of as a modal tool.

It also should have an option to snap to meshparts of the current mesh or any other mesh too, maybe somehow like blenders measure tool snapping option and mainly thats all about it.

How are the chances that this could get implemented? What else can we do to support that idea? There are quite some good video demonstrations in this thread on how some other tools with this feature have it implemented.

2 Likes

Well, we can move the gizmo/pivot in Blender. Just set it to be aligned with 3D cursor, which you can easily move and snap whichever way you like. Stated here many times. However, as stated here many times too, that doesn’t mean that everything is fine with this workflow. We still can’t rotate it and tweak its position (along the arbitrary axis for example).

The problem here is that currently Blender has one functionality split between two different tools. There’s a pivot/gizmo that can be set only indirectly. And there’s 3D cursor that can be set manually, but only in a limited fashion. Both of them are just a temporary point in space with basically the same purpose: to serve as a transformation center/reference point.

Some people here say that it has nothing to do with 3D cursor, but that’s not true because even in its current state it can do half of the things they are asking for. Current implementation of a pivot/gizmo covers the other half. If we’ll try to implement movable gizmo like in other software but leave alone the 3D cursor, then there’ll be two two almost identical (or at least overlapping) tools with different names. That’s nonsense. They can be easily combined in one tool. Just make that 3d cursor look like gizmo with all the handles and make it editable with one keypress like in Maya. No need for some other pivot point around there. Of course all the other options of setting this pivot (median, active, etc.) should still be available.

Try to see the big picture here. I’m new to Blender, but I have 25 years of experience with lots of 3D software and have been professionally working on UX and interfaces for decades too. Design-wise this solution absolutely clear and obvious. Seeing this pivot issue causing so much confusion is really a pain. Especially considering we’re almost there.

BTW the best implementation of the temporary 3D pivot I’ve seen is the 3DCoat’s Pose tool. Check it out.

Oh ok, so if your pivot is the median point inside a curve, such as the edge of a crescent moon, you can just snap the 3d cursor to that no problem right? Oh wait.
You think the solution is I should make a new vertex and somehow get it approximately there just to use the active element mode? What is wrong with you oh my god

Edit watch him come back like oh ya just duplicate the entire curve, scale it down into the center and the finally merge them into one vertex, transform that (step 1 of transform pivot) and then go back to your previous selection select the new vertex in empty space and finally scale them to that

1 Like

Could you explaint? It’s hard to understand without context or images.

10%20AM
pivot point: bounding box center

Sure could the 3dcursor behaviour be changed to act like that, but currently there are missing features, I proposed these changes further above too, but it would have to be a one click operation that changes multiple values in blender at once to really compete with a separate tool.

First of all the 3dcursor would have to get its gizmo, but that seems on its way.
The 3dcursor also would have to be editable/movable in edit mode with that new gizmo, but it should just be displayed while pivot point editing is on to keep the 3dviewport cleaner. The pivot point would have to be set to follow the 3dcursor automatically.
After releasing the pivot point has to stay where it is and may not snap back, so the current pivot point functionality has to get changed somehow too. But perhaps the original pivot point mode should be set back and just temporarily deactivated und a selection changes.
The cursor itself should perhaps also be reset to the old position, as that might have benefits for its usage. The place where it was before could really make sense for future commands.

So there are two options. Press that button and multiple changes are done throughout the gui and leave them. But live with these changes if you pressed it accidently. Or set it all back at the end of that, but why did we use the 3dcursor then for this at all.

To me it seems really simpler to grasp that this is its own tool as
“Affect Only Origins” is too and not a 3dcursor on steroids.
I really see what you mean. I thought about it too, as @Billrey was also convinced to solve that task with the help of the 3dcursor. But personally I stick to the solution of having that task separate for these reasons.

1 Like

I want to temporarily re-orient the transform tool based on an existing pivot point, such as the bounding box center. I’m not expecting the bounding box center itself to move, I want to translate its coordinate and local rotation before my transformation operation.