Page MenuHome

Transform Tools: Perform on a base point
Open, NormalPublic

Tokens
"Love" token, awarded by amonpaike."Love" token, awarded by 1D_Inc."Love" token, awarded by duarteframos."Love" token, awarded by Okavango.
Assigned To
None
Authored By

Description

The base point would only appear if snap toogle is enabled.
It would be good to indicate and allow the user to choose more intuitively where the Target (motion pivot) starts.
Currently, the user has to click on a random point of the screen to perform the transform and the "Target" is set along with the snap options in an unmanageable way.
References:
https://developer.blender.org/T45734#506696
https://www.youtube.com/watch?v=KxMXGVmA1cE
https://www.youtube.com/watch?v=gfnX5MYXNfk

Details

Type
To Do

Event Timeline

Germano Cavalcante (mano-wii) triaged this task as Normal priority.

Attached T66484 with a proposal to handle base point.

We are currently modifying NP_Station to make object snapping suitable for architectural tasks.
Can be interesting.
https://blenderartists.org/t/np-station/686462/218?u=1d_inc

Also, birth of point based moving anf copying in raw representation
https://github.com/Korchy/1d_np

Finally!
A concept we were struggle for so long time.
Generalized proposal, that extends default tools and covers all possible variations of alignation:


The idea is good. But I start to worry when modal keymaps have 3 entries.
We will need to evaluate this as soon as the base point is implemented.
But it looks promising ;)

Thanks)
Prototypes of this concept, shown on GIF's, are already useful a lot, but requires creating/deleting empties, that causes problems, espesially in heavyweight scenes (> 30000 objects), where creating/deleting is hard and painful.

Nice concept, Paul.

If i may point out, there is a big chance a specific user would utilize these transforms with the same settings throughout a session (e.g. rotation with base point around z axis). That leads to conclusion it would be nice if the tool settings which would probably appear in the top bar remain the same until the user changes them again. So - if the first time you were required to sequentially press RB3Z, the next time the settings would automatically be set to 'rotation with base point around z' and the user would be required to press only 'R'.

Of course, that not being the optimal behavior for all users, an additional setting (check mark) with the 'save settings' option on the top bar would be nice also.

Nice concept, Paul.

Thank you!

If i may point out, there is a big chance a specific user would utilize these transforms with the same settings throughout a session (e.g. rotation with base point around z axis). That leads to conclusion it would be nice if the tool settings which would probably appear in the top bar remain the same until the user changes them again. So - if the first time you were required to sequentially press RB3Z, the next time the settings would automatically be set to 'rotation with base point around z' and the user would be required to press only 'R'.
Of course, that not being the optimal behavior for all users, an additional setting (check mark) with the 'save settings' option on the top bar would be nice also.

Well, as practice shows, saving any kind of settings can cause difficulties with their organization.
I don't think, that it will be good for master - it usually provides pretty much straightforward solutions with fixed keymaps, where actions on hotkeys are predefined strongly, but it can be an excellent realization for an addon.

However, if to remove "R" shortcut from it and replace it with abstract "Repeat last transform operation with it's last mode" function from spacebar menu,
that will work like Shift+R (repeat last action), but considering transform operations only - that can be pure solution, that leaves keymap straightforward, and, probably, will fit master conditions.

Also, F4 hotkey seems to be free both for object and edit modes, so it can be assigned to that function if desired.
How do you think?

I have some experience with 'repeat last command' operators in CAD apps, they are actually very useful, practically indispensable, boosting the speed of editing perhaps 2x. But - from my experience i myself rarely use the same transform operation more than once in a row, e.g. rotate around z than again rotate around z. It is more like - rectangle / stretch / move / align / extrude /poly / poly / poly / poly (repeat last command), trim / trim / trim / extend / rectangle / move etc. So, while for poly or trim commands 'repeat last command' operator is very useful, other commands usually benefit from remembered settings (rectangle, move, align, rotate...). I kinda feel the 'repeat last command' operator has it's place in the editing pipeline independently from saved operator settings, and should be incorporated eventually, regardless of the former.

However, if you think it would be tricky to implement 'remember settings for next activation', yeah, i guess specific keymapping could step in as a fall-back solution.

Yes, default "repeat last" function should be intouched.
it will be nice to have separate "repeat last transform setup only" function added, that will behave the same way, but will envoke only latest transform operation setup.
It will allow to overcome workflow limits in case of multiple repetitive transform operations - for example, aligning 200 windows to a wall

or making a city from 500 aligned blocks.

Well, i don't know if something like this was mentioned for 2.8 as an idea but what i had in mind is a simple check-mark setting, for example at the end of the top bar where the tool settings are shown. If checked, the user might 'lock' a certain tool setting preset for the next time that tool is activated. And for some tools he might restrict from doing so and let the tool always start with the default settings as they do in 2.79, because that certain tool e.g. is used in various ways in that particular session.

Because sometimes i would like for majority of my rotations to go around z axis and that would save me a lot of clicks, and yet, my translations have not grown into a certain pattern and i would like to leave the grab tool to start with the default settings, leaving me to adjust them upon each activation. It would basically be up to the user... What do you guys think?

Basically, I can't imagine such realization.
How is it supposed to work?

Pressing RB2Z and then checkbox? Then blender should constantly store keypresses that were pressed before.
Pressing checkbox, then RBZ2? Then checkbox is already pressed, so it have to lock something that were pressed before.
Pressing after transformation? That's a separate function, that behaves like "repeat last transform" fuction I've proposed...
How to check if Grab and Scale already have stored preset, but Rotate - not yet?
How to check if preset that have been invoked is that you need (RBZ, not RB2Z) - remember it for any kind of tool and scene?

It is pretty much new concept of storing preset for entire program - while transform is in progress there is no even ability to check any kind of checkbox or press GUI buttons.
It will require updating Blender's core to provide ability for such behaviour.
That can be too much deep and tricky for this scope.

Yes, practically a new concept of storing tool / transform settings throughout a certain session. Wouldn't quite call it a 'keystroke storing', but a new scene (blend file) property of some sort that is specific to all tools independently.

Yes i guess a check box is problematic with GUI, it would probably be an additional keystroke designation in the status bar, shown while the tool is running. Btw, wouldn't be nice to see which options from the tool settings are currently activated, some highlight on those letter icons? That way when i press Z after R, it would be indicated in the status bar with the 'Z' icon highlighted while the tool is running.

In the same way, there could be an additional letter icon for the 'automatically save current settings for the next activation' setting. It is quite simple actually - if you press the designated keystroke during the tool operation (at any time, just like with other tool options), what ever setting you change from then on, the tool would remember and start with the settings you left it with the last time. Nothing special actually. If you turn it off, the tool would start with the default settings each next time. Some kind of 'sticky' designation.

Example - let's say the keystroke for this 'store' setting is ctrl+shift+TAB:

RBZ / finish the operation - using other operators
RBZ / finish the operation (the full keystroke sequence is needed again although it is the same operation, because shift+ctrl+TAB is not active) - using other operators -
RBZ / the tool is running / ctrl+shift+TAB/ finish the operation (the rotate tool now remembers it's settings change each time for the next time) - other operators -
R / does rotation with basepoint around Z - other operators -
RX / does rotation with basepoint around X - other operators -
R / does rotation with basepoint around X - other operators -
R / begins rotation with basepoint around X / ctrl+shift+TAB (store setting deactivated) / user finishes the rotation with basepoint around X - other operators -
R / the tool is in it's default factory mode, requiring again to press the RBZ or other sequence

That sounds so complex

Indeed, it can be difficult to reproduce in practice.

Well, the tool system as it is now could probably work in the future without this feature. In fact i use it on daily basis in 2.79 as such.

This suggestion was my attempt to complement Paul's idea for basepoint transform which would engage user in a lot keypresses for each operation. And , although it is presented in a clumsy manner, try to reproduce it in your mind to see what i was going for. For the fun of it, replace the suggested shift+ctrl+TAB with just TAB (should be available during transform).

Indeed, it can be difficult to reproduce in practice.

I am not sure that RBZ2 either would be feasible for each and every time the user needs that operation. If you think about it (disregarding the code implementation for now), a simple TAB press during the first time you use it and just pressing R further on could indeed make that workflow smoother.

As my experience shows, Base snap alignation is needed once to align something (for example, put doorhandle to opened door), or some specific one, but multiple times in a row, like for placing 500 windows or align 50 furniture assets to non-ortho walls.

In first case full shortcut is ok.
In second case "repeat last tranform setup" function can solve issue.

Don't know, it is hard to say how much preset system can be usable without workflow testing. That's the problem.
We need to have it to say if it is good.

Yes, good examples and my exact thoughts. It would be ideal if these suggestions could be tested in 'battle'.

Perhaps some kind of an addon could do the testing at some point and if it yielded good results it could justify the hard coding effort.

Thanks)
Prototypes of this concept, shown on GIF's, are already useful a lot, but requires creating/deleting empties, that causes problems, espesially in heavyweight scenes (> 30000 objects), where creating/deleting is hard and painful.

I think the solution to this is to create a draw system of visual previews and temporary markable markup points with the use of colors and or symbols and or texts to distinguish (and in case also helper to suggest) the various step operations

(I haven't read the rest of the comments)

anyway, mano-wii and 1D_inc thank you so much for doing this, you are my heroes!

A video about B.A.S.E. snap enhancement proposal.
It's main goal is to unify all those tools from first part.
Also different CAD precision Bonus tools were shown for forum discussions.

https://youtu.be/w_zJAlN6vqc