Tweak/edit tool problems

   7273   30   2
User Avatar
Staff
1072 posts
Joined: July 2005
Offline
McNistor
I've tested this and at first I thought that it's a bug that sometimes you get all three upon recalling an already active component mode and other times you don't, but then I've re-read and understood this time what you've said there and it seems it's by design. Sometimes I also get the toggle behavior which could be a bug. Either way it's not intuitive at all.

The design is as follows. If you hit 2, and points are not the only type enabled, then it will save what is currently enabled, clear everything, and enable only points. If you hit 2, and points are the only type enabled, then it will restore the enabled types it saved earlier and also enable points. So 2 will toggle between only points and points plus something else.

What are you finding unintuitive? The hotkeys to isolate a type for selection mimic how regular selectors work, so is it using the same hotkey to switch back to that type plus whatever was enabled earlier?

Another option is to have 2,3,4 only isolate, and have a separate hotkey to restore your last state that had multiple component types enabled. I just thought it would be faster to hit a hotkey to temporarily limit selection to a particular type, make your selection, and then hit that same hotkey to get back to your previous selection types.

McNistor
Also, the fact that when you first create an edit node (which would happen a gazillion times in a modeling session) all components are active is bad.

This is only true for the first Edit in a session. Any successive Edit state in a session will start with the previous settings.

McNistor
Yes, the component for which you press the hotkey has priority but upon box-sel from outside, the inside will pick whatever, where you need to hold shift which is bad as explained in an earlier post.

If you isolate the component type with a hotkey, then than component type is the only one you can box select unless you hold shift or ctrl. If you're experiencing otherwise, then it is a bug.
User Avatar
Member
1755 posts
Joined: March 2014
Offline
Ondrej
The design is as follows. If you hit 2, and points are not the only type enabled, then it will save what is currently enabled, clear everything, and enable only points. If you hit 2, and points are the only type enabled, then it will restore the enabled types it saved earlier and also enable points. So 2 will toggle between only points and points plus something else.

What are you finding unintuitive? The hotkeys to isolate a type for selection mimic how regular selectors work, so is it using the same hotkey to switch back to that type plus whatever was enabled earlier?


Another option is to have 2,3,4 only isolate, and have a separate hotkey to restore your last state that had multiple component types enabled. I just thought it would be faster to hit a hotkey to temporarily limit selection to a particular type, make your selection, and then hit that same hotkey to get back to your previous selection types.


This, all this is unintuitive. I'm not sure how I can convince you of this since to you it seems intuitive. Let's make an experiment, regardless of what suggestions I'm going to make in this post, leave them (if you're considering them) for a future version, say H16. Till then let's count the number of people, especially new comers, that will allude or complain about this. Sure, this the argument from popularity, but since we're “measuring” intuitiveness, I'm not sure what other approach is in order.

Here's how a help section should read in explaining a simple straightforward workflow:
-activate a transform tool to enter edit mode
-to select points press ‘2’
-to select edges press ‘3’
-to select faces press ‘4’
-to enable the tweak mode, press 'x'. In tweak mode, to toggle Off (remove) one component ctrl click its respective icon; to toggle it On (adding), shift click it

That's it.

Here's another one proposed earlier, which doesn't have a separate tweak mode:
-activate a transform tool to enter edit mode
-to select points press ‘2’
-to select edges press ‘3’
-to select faces press ‘4’
-pressing the hotkey to the currently active mode will enable all components
-to toggle Off one component ctrl click it; to toggle it On, shift click it
-when in “all mode” or any combination of two, pressing any comp. hotkey will isolate it (and only that); pressing it again, will go to “all”, not the previous combo
(this last one is important because it removes the necessity of having a degree in selections)

The 2nd workflow might seem a little more elegant (which is another way of saying, it solves the same problems by being simpler) than the 1st, but in fact it is not from a practical stand point. Sure, it's one less “mode”, but it requires a little more thought from the user.
Pausing for a second almost every time you want to switch a component is going to put a toll on you. Please model something in 0.294 - all kind of ops, switching objects back and forth, for about half an hour, then multiply that with twenty.
I'm going to go out on a limb here and say that you approached this from a purely theoretical position: you do that which means that and then that… It's not informing you on what experience the user is going to have when using it on and on without testing it for at least 15-30min. I know devs. don't have time for prolonged tests, but I did it for you in this case.

Regarding the current workflow, I swear that right now I don't know what is a bug and what is normal, that is, a consequence of the implemented workflow.
As a quick example, after I did a few modeling ops on a few objects, deleted them, created a new one, pressed 2 to enter point, pressed T and bam! I'm in edge mode. Is this is bug or a consequence? I have a feeling it's the latter.

I'm sure I could figure it out after experimenting with it which is which, but I'm not going to because I'm never going to use Houdini for modeling if this is it.
I've continued my small rant here, but I've decided that that's… well, “lame” is probably the best way to put it along with the fact that this is not how things get done.

edit: reading again your explanation, it seems that you're under the impression that in tweak mode, modelers often use combinations of two (points /w edges, polys / points, etc), but this in fact false from my own experience along with other XSI users I know of. I almost never used a combo. I'm either in point, edge or poly or, in tweak mode where I need access to all three. I invite other XSI users to confirm or deny what I'm saying here.
User Avatar
Staff
1072 posts
Joined: July 2005
Offline
McNistor
Ondrej
Another option is to have 2,3,4 only isolate, and have a separate hotkey to restore your last state that had multiple component types enabled. I just thought it would be faster to hit a hotkey to temporarily limit selection to a particular type, make your selection, and then hit that same hotkey to get back to your previous selection types.

Here's how a help section should read in explaining a simple straightforward workflow:
-activate a transform tool to enter edit mode
-to select points press ‘2’
-to select edges press ‘3’
-to select faces press ‘4’
-to enable the tweak mode, press 'x'. In tweak mode, to toggle Off (remove) one component ctrl click its respective icon; to toggle it On (adding), shift click it

That's it.

I don't see how this differs functionally from my above suggestion. That is, you're always in tweak mode, the 2,3,4 hotkeys isolate a component type for selection, and some other hotkey restores your last multi-toggle enabled state.

- to select only points, press ‘2’
- to select only edges, press ‘3’
- to select only faces, press ‘4’
- to restore the last multi-type selection mask, press ‘x’

or alternatively,

- to restore the full multi-type selection mask, press ‘x’

I guess my question is what are you getting from a regular selector selecting points that you aren't getting from the edit selector with only points enabled? I think this is what I'm not understanding in all this discussion. By design they should be very very similar.

McNistor
Regarding the current workflow, I swear that right now I don't know what is a bug and what is normal, that is, a consequence of the implemented workflow.
As a quick example, after I did a few modeling ops on a few objects, deleted them, created a new one, pressed 2 to enter point, pressed T and bam! I'm in edge mode. Is this is bug or a consequence? I have a feeling it's the latter.

That is a bug, likely unrelated to all this hotkey discussion.
User Avatar
Member
1755 posts
Joined: March 2014
Offline
Ondrej
I don't see how this differs functionally from my above suggestion. That is, you're always in tweak mode, the 2,3,4 hotkeys isolate a component type for selection, and some other hotkey restores your last multi-toggle enabled state.

The difference is: when you type say ‘2’ again it will go the “previous state” instead of “all”. And this, (you say it's a bug, let's hope it is) extends to other new edit nodes of current or new Obj. Every time you lay down an edit, it should respect the comp. you call not where you left from the previous edit.
This is one aspect.

Another is, which is very important and not the first time I'm mentioning it, is that this omni-tweak, even when isolated in a single component I can accidentally click on a component and drag-move it when trying to a box-select. The shift/ctrl thing works but is a very poor design choice because beside the fact that it doesn't make sense to hold shift when you have nothing selected it also means that you have to deselect whatever you have selected first before another shift + box select when you don't want to add to selection. Deal breaker for me.
This answers this question:

Ondrej
I guess my question is what are you getting from a regular selector selecting points that you aren't getting from the edit selector with only points enabled? I think this is what I'm not understanding in all this discussion. By design they should be very very similar.

Not sure how can you avoid that w/o having a separate tweak mode. Again, I've explained it earlier, why each mode is important: when in isolate - quick selection w/o worrying you're gonna grab one accidentally regardless of you selection method and when in tweak - access to all components for dragging, nudging, etc as shown in a .gif above.

An alternative to avoiding adding the classic edit mode back (because for some reason that's only as a last resort) is to disable this click'n'move feature when in isolate.
User Avatar
Staff
1072 posts
Joined: July 2005
Offline
McNistor
Ondrej
I don't see how this differs functionally from my above suggestion. That is, you're always in tweak mode, the 2,3,4 hotkeys isolate a component type for selection, and some other hotkey restores your last multi-toggle enabled state.

The difference is: when you type say ‘2’ again it will go the “previous state” instead of “all”.

Yes, that's what I implemented in 15.0.294, but, as you say, that requires the user to pay too much attention to the current state and do some mental gymnastics. What I'm proposing now is that 2,3,4 only isolate, and a new hotkey be added to restore the multi-toggle state.

McNistor
Another is, which is very important and not the first time I'm mentioning it, is that this omni-tweak, even when isolated in a single component I can accidentally click on a component and drag-move it when trying to a box-select. The shift/ctrl thing works but is a very poor design choice because beside the fact that it doesn't make sense to hold shift when you have nothing selected it also means that you have to deselect whatever you have selected first before another shift + box select when you don't want to add to selection. Deal breaker for me.

This should already be the case in 15.0.294. If a component type is disabled, you cannot box pick it (unless shift or ctrl is held, but that's a special case). In terms of immediately dragging components, it behaves the same as the selectors for other states that support such dragging (transform SOP for example).

It occurs to me now that perhaps you've been assuming that non-tweak selectors do not let you immediately drag components, which is not true. That is to say, if you're selecting for a state that supports such dragging, say the Transform SOP, then you cannot start your box selection over the geometry without immediately picking and dragging a component.
Ondrej
I guess my question is what are you getting from a regular selector selecting points that you aren't getting from the edit selector with only points enabled? I think this is what I'm not understanding in all this discussion. By design they should be very very similar.

McNistor
Not sure how can you avoid that w/o having a separate tweak mode. Again, I've explained it earlier, why each mode is important: when in isolate - quick selection w/o worrying you're gonna grab one accidentally regardless of you selection method and when in tweak - access to all components for dragging, nudging, etc as shown in a .gif above.

An alternative to avoiding adding the classic edit mode back (because for some reason that's only as a last resort) is to disable this click'n'move feature when in isolate.

Again, classic edit mode had the same click'n'move problem. Maybe you never noticed this because you only ever tried to box-select starting over the geometry when selecting points. In 15.0.294 you can just hit ‘2’ and box select your points the same way. If you accidentally start your drag over a point, then yes, it will drag that point instead of box selecting, but this is no different than the old edit state.

It now seems to me that you want a mode that specifically disables the immediate click drag of components, which is not the same thing as a classic edit mode (though yes, if we had a classic edit mode, we could also associate it with such a restriction).
User Avatar
Member
1755 posts
Joined: March 2014
Offline
Ondrej
Yes, that's what I implemented in 15.0.294, but, as you say, that requires the user to pay too much attention to the current state and do some mental gymnastics. What I'm proposing now is that 2,3,4 only isolate, and a new hotkey be added to restore the multi-toggle state.

Why another key? Pressing on the same key again is easy enough for getting into “all” mode. It was the “last state” that required you to recall what you did previously which could very quickly become very frustrating.
Maybe some hotkeys for toggling them on/off like shift+2/3/4 would be a something of value for the savvy that want specific components only.


McNistor
Another is, which is very important and not the first time I'm mentioning it, is that this omni-tweak, even when isolated in a single component I can accidentally click on a component and drag-move it when trying to a box-select. The shift/ctrl thing works but is a very poor design choice because beside the fact that it doesn't make sense to hold shift when you have nothing selected it also means that you have to deselect whatever you have selected first before another shift + box select when you don't want to add to selection. Deal breaker for me.

Ondrej
This should already be the case in 15.0.294. If a component type is disabled, you cannot box pick it (unless shift or ctrl is held, but that's a special case).


Yeah, but that's bad. If a component is disabled, you shouldn't be able to pick it by any means. This why this whole thing becomes confusing at times - if you have say a poly selected when in “all” mode and disable poly (4) you're still going to be able to select polygons with box-sel by holding shift as you said. The alternative would be to pick one or the other, point or edge as active for box-sel, but which one? At one time you mentioned a default priority. I personally detest these things (like when H reverts to the Y tool after you delete an object and many other cases) and I'd really like to see Houdini rid of these nasty behaviors. So in this case the lesser of the two evils is to remain with polygons. Another point for “bring the old edit back and make tweak a toggle-able mode”.


Ondrej
In terms of immediately dragging components, it behaves the same as the selectors for other states that support such dragging (transform SOP for example).

It occurs to me now that perhaps you've been assuming that non-tweak selectors do not let you immediately drag components, which is not true. That is to say, if you're selecting for a state that supports such dragging, say the Transform SOP, then you cannot start your box selection over the geometry without immediately picking and dragging a component.

That's correct. I've downloaded and installed a H14 build and indeed that is what's happening. Curiously enough, it was happening when in ‘Y’ tool, for T it was just selecting. I still don't get the ‘Y’ tool in Houdini. It's like the Hydra with a hundred heads. Anyway…
This behavior is undesirable for when in an isolated component and that's what matters. Are there serious technical hurdles to make an exception for isolate edit?


Ondrej
Again, classic edit mode had the same click'n'move problem. Maybe you never noticed this because you only ever tried to box-select starting over the geometry when selecting points. In 15.0.294 you can just hit ‘2’ and box select your points the same way. If you accidentally start your drag over a point, then yes, it will drag that point instead of box selecting, but this is no different than the old edit state.

It now seems to me that you want a mode that specifically disables the immediate click drag of components, which is not the same thing as a classic edit mode (though yes, if we had a classic edit mode, we could also associate it with such a restriction).

Got it. A failure of communication on my part due to missing that, that's for sure.
Yes, disabling the click-drag feature for when in a single component mode would improve interaction by a tenfold. And you know what else? Making the gizmo temporarily disappear when holding shift/ctrl for dealing with close together components that would otherwise be “covered” by the gizmo.
User Avatar
Staff
1072 posts
Joined: July 2005
Offline
McNistor
Why another key? Pressing on the same key again is easy enough for getting into “all” mode. It was the “last state” that required you to recall what you did previously which could very quickly become very frustrating.
Maybe some hotkeys for toggling them on/off like shift+2/3/4 would be a something of value for the savvy that want specific components only.

Going back to the default “all” mode is probably okay for most usage. The times it becomes annoying is when you've explicitly turned off a component, like primitives, or if you've turned on breakpoints when you're working with splines. Going back to the previous state deals with these edge cases. Going back to a fixed state would also work as long as the user can easily change what that fixed state is. Maybe hit a hotkey to save the current toggles as “all”?



McNistor
Ondrej
This should already be the case in 15.0.294. If a component type is disabled, you cannot box pick it (unless shift or ctrl is held, but that's a special case).


Yeah, but that's bad. If a component is disabled, you shouldn't be able to pick it by any means. This why this whole thing becomes confusing at times - if you have say a poly selected when in “all” mode and disable poly (4) you're still going to be able to select polygons with box-sel by holding shift as you said. The alternative would be to pick one or the other, point or edge as active for box-sel, but which one?

I think this can be argued either way. If you're holding “shift” to add to the current selection you really can't pick anything other than primitives (since we don't support heterogeneous selections). So the choice, if primitives are disabled, is really between selecting primitives, selecting the primitives corresponding to the edges or points you highlight, or selecting nothing. The third option is not really useful, and the second requires guesswork about what to highlight. I chose the first, primarily because the second didn't occur to me at the time.

This behavior is undesirable for when in an isolated component and that's what matters. Are there serious technical hurdles to make an exception for isolate edit?

I disagree. I feel it's perfectly reasonable to only have point selection enabled when you don't want to accidentally drag an edge or primitive. I generally dislike trying to second guess the user. This immediate drag of components during selection can also be a problem when selecting for other states, so I think a better approach is to provide a general selection option to toggle this behavior.


McNistor
Making the gizmo temporarily disappear when holding shift/ctrl for dealing with close together components that would otherwise be “covered” by the gizmo.

I initially wanted to do this, but the problem is that shift and ctrl have meaning when dragging a handle. I never came up with a good way to reconcile this. I suppose it could be a setting in the state itself?
User Avatar
Member
1755 posts
Joined: March 2014
Offline
Ondrej
Going back to the default “all” mode is probably okay for most usage. The times it becomes annoying is when you've explicitly turned off a component, like primitives, or if you've turned on breakpoints when you're working with splines. Going back to the previous state deals with these edge cases. Going back to a fixed state would also work as long as the user can easily change what that fixed state is. Maybe hit a hotkey to save the current toggles as “all”?

You know what? I honestly think it's better to leave it as it is in this regard. After I played with it I came to like it although I remain unmoved regarding it being not very intuitive, especially for people coming from other apps. It's going to be a bit of a learning curve, but that's something they'll soon come to accept with Houdini.
In the end, we could revisit this after a while in the meantime some other things settle and we'll have a bigger picture regarding how things will work out when more modeling and interaction features will be implemented.

Ondrej
I think this can be argued either way. If you're holding “shift” to add to the current selection you really can't pick anything other than primitives (since we don't support heterogeneous selections). So the choice, if primitives are disabled, is really between selecting primitives, selecting the primitives corresponding to the edges or points you highlight, or selecting nothing. The third option is not really useful, and the second requires guesswork about what to highlight. I chose the first, primarily because the second didn't occur to me at the time.

In the continuation of that paragraph I've concluded that you opted for the best solution given the rather difficult presented choices. The start was not very well chosen from my part.


Ondrej
I disagree. I feel it's perfectly reasonable to only have point selection enabled when you don't want to accidentally drag an edge or primitive. I generally dislike trying to second guess the user. This immediate drag of components during selection can also be a problem when selecting for other states, so I think a better approach is to provide a general selection option to toggle this behavior.

What you're proposing here would mean essentially, in a way, to bring back the old edit. “in a way” because as you well know, for me that was the old edit behavior.
So yeah, would very much like a toggle for this. With memory obviously and preferably off by default.


Ondrej
I initially wanted to do this, but the problem is that shift and ctrl have meaning when dragging a handle. I never came up with a good way to reconcile this. I suppose it could be a setting in the state itself?

ctrl doesn't seem to do anything, but that's not very helpful since shift does. Setting for this doesn't seem necessary - the transient keys will save the day again for holding ‘S’ to select whatever, release and you're back in a transform tool. I don't see a point in riddling the transform prefs with settings that will become unnecessary. The less clutter, the better.
User Avatar
Member
24 posts
Joined: July 2007
Offline
Hi guys, just saw this topic and thought I'd add an idea.

What if a single tap of 2,3,4 entered ‘solo’ mode for that component.
Holding down the key would put you in ‘selection only’ mode for that component and then into ‘solo’ mode when released.
Then a double tap of the key would put you back to ‘multi component’ mode - the current tweak behavior.

So say you were tweaking points and needed to change to polys?
You'd hold down 4 and select the polys you need, when released you would be in ‘solo poly’ mode. Do your tweaks on polys and when you're done, double tap 4 and you're back in the current tweak mode.

This way, you still only have the same set of keys to deal with but an enhanced workflow.

Any thoughts on this?
Matt.
User Avatar
Member
1755 posts
Joined: March 2014
Offline
Whether I think this is a good idea or not I won't get into, but what you're describing here is an workflow based on transient (sticky) keys something Houdini lacks (except for the nav keys, space/alt) at the moment.
Hopefully we'll have those soon, like H16.
User Avatar
Member
1755 posts
Joined: March 2014
Offline
Still no transient keys yet, but at least in H16 this has been sorted out.
A small issue remains, that is being able to move a component just by click&dragging it when in translate mode (the SR don't exhibit this), which could be a problem for very close points like you have at beveled corners and whatnot.
The issue could/will be solved when transient keys will be implement - one would simply hold ‘S’ and circumvent this issue.
Anyway, glad to see this almost in the clear.
Good work SESI and for this particular case, kudos to you Ondrej and to whomever else has worked on this.
  • Quick Links