Anim8or Community

General Category => Ongoing Anim8or Development => Topic started by: Steve on April 18, 2014, 07:00:35 pm

Title: Fast Selection
Post by: Steve on April 18, 2014, 07:00:35 pm
Fast Selection is enabled by default in the Object editor as of build 1086. This allows you to click on an unselected shape and immediately edit it, without changing to Select mode and back or using Control-Shift. It works for the Select, Move, Rotate, Scale and Non-Uniform Scale tools in the base Object editor. It is enabled by default but you can change back to the old behavior in the GUI dialog.

I've had portions of this ready for a while but couldn't decide on the details. I'm reluctant to change the behavior of something so fundamental to work flow but, as many of you have suggested, there are better ways to handle selection. I'm interested in your feedback on what you like and don't like about how I've implemented it and whether you want this enabled by default. So don't be shy about replying!
Title: Re: Fast Selection
Post by: Raxx on April 20, 2014, 01:11:04 pm
I like it, though I can see how there might be issues when dealing with shapes within/around other shapes (accidentally clicking and dragging on unintended shapes). I think it'd be nice if it got switched to using helper widgets for move/scale/rotate, with them being toggle-able buttons. This way you only need the select tool and the three transformation buttons (say, right below the xyz buttons).

A few problems I uncovered:
Title: Re: Fast Selection
Post by: Steve on April 20, 2014, 11:10:09 pm
Thanks I missed the deselect problem.

* Uniformity in the interface is important. The more one tool works like another the easier Anim8or is to learn and use. What about using the original Select tool semantics for Move, Rotate, etc.? I'd have to remove the ability to move in the Z direction (i.e. into/out of the screen) with the right mouse button because that button would add shapes to the selection.

One advantage of the original design was that you didn't risk accidentally deselecting anything when moving or rotating something.

* Widgets are both a lot of code and a big change in the workflow. I'm thinking about doing something in this area but want to take things one step at a time.

Quote
though I can see how there might be issues when dealing with shapes within/around other shapes (accidentally clicking and dragging on unintended shapes).
But that's how the select tool works now. If I change everything to use Widgets then that's how thew would behave, or do yo have something else in mind?
Title: Re: Fast Selection
Post by: Raxx on April 21, 2014, 01:56:05 am
Quote
Uniformity in the interface is important. The more one tool works like another the easier Anim8or is to learn and use. What about using the original Select tool semantics for Move, Rotate, etc.? I'd have to remove the ability to move in the Z direction (i.e. into/out of the screen) with the right mouse button because that button would add shapes to the selection.

I was thinking about that. The fast selection disrupts that uniformity. The original select tool semantics applied to fast selection would feel a bit odd to me, personally. I can't imagine right-click and dragging to both add a new object to the selection and move it with the selection at the same time. And middle-click dragging to remove and move? Seems like it'd feel weird.

Fast selection (I'm going to call it tweaking) is nice, but I'm not convinced it's the best answer as the main force behind editing shapes. It eliminates the back-and-forth switching between tools, but seems to sacrifice too much of the flow for general editing. Also, it promotes more carelessness. I don't know about you, but I think transforming whole shapes in the object editor, or whole objects/figures/sequences in the scene editor, should be done with deliberate care first. Then adjustments can follow.

As you know Steve, I'm all for a tweak feature, but I think it should be treated as a separate tool for making adjustments. What if the original select/edit system was in place, and there was a nice big tweak/fast selection mode toggle button (like in the image below -- or in the top toolbar somewhere) that enables tweaking (can be used for all elements across all the editors)? This tool would be used extensively in point edit mode (I'm drooling just thinking about it) and when editing figures/sequences, and likely when fine-tuning animations in the scene editor, but the original select-then-transform method is a solid foundation that (in my opinion) should be kept for the sake of precision editing.

Attachment 1

Quote
Quote
though I can see how there might be issues when dealing with shapes within/around other shapes (accidentally clicking and dragging on unintended shapes).
But that's how the select tool works now. If I change everything to use Widgets then that's how thew would behave, or do yo have something else in mind?

Well, from my experience, you select the element first, then the widget appears on the element, then you click-drag on whatever part of the widget to transform it along the axis. Click-dragging outside of the widget leads to transformation on all axis, etc etc. Some editors allow you to just click on another element to select it and activate the widget on that element (like blender), other editors require you to change between a select tool and the individual transform tools (XSI). Multiple selections would have a single widget at the center point between those elements. There are benefits:

I recognize that widgets would be a lot of work, and I'm betting a lot of users would rather have something else first. I mentioned widgets mostly as an alternative to having fast selection as the primary method of editing. If fast selection/tweaking were just supplementary to the original system, I think the need for widgets would become more supplementary as well.

Anyway, that's all my 2 cents on the subject. Many thanks for all the hard work, Steve 8)
Title: Re: Fast Selection
Post by: Steve on April 21, 2014, 12:45:56 pm
How do you move multiple objects the same amount? Can you do this with widgets? Currently Anim8or moves all selected objects in unison - is this capability important enough to preserve?
Title: Re: Fast Selection
Post by: Raxx on April 21, 2014, 01:30:19 pm
That is the same behavior with widgets. Only one widget would be shown for all of the selected objects, located in the centerpoint. All selected objects would be moved in unison when clicking and dragging on that widget.

Rotation and scaling may or may not be different. Anim8or rotates/scales multiple objects around their individual pivots. Blender rotates/scales around the centerpoint between all the objects by default (as if grouped), but has various pivot options that can do like what Anim8or does. XSI does the same as Anim8or by default, but has a "Center of Geometry" option that allows it to transform around the centerpoint like by default in Blender. I'm sure it varies between programs. I think there's a feature request for centerpoint manipulation, so that's something to consider as a toggleable option.
Title: Re: Fast Selection
Post by: Steve on April 21, 2014, 02:42:57 pm
Thanks for the explanation - I think that would work quite well. I need to watch at a few more you-tube tutorials on these apps. If you have any suggestions for good tutorials let me know.
Title: Re: Fast Selection
Post by: thecolclough on April 21, 2014, 02:44:11 pm
Currently Anim8or moves all selected objects in unison - is this capability important enough to preserve?
yes, it's definitely important enough!  i use this all the time.

You can no longer deselect shapes by clicking in the empty workspace.
i think this might actually make sense when using tools other than Select, but i find it gets quite frustrating when using the Select tool itself

One advantage of the original design was that you didn't risk accidentally deselecting anything when moving or rotating something.
in my brief experimentation with Fast Select, i have found this to be an issue, particularly if you're trying to work on an shape which is partially or fully hidden behind/inside another shape; you end up changing selection to the foreground/surrounding shape instead of performing the intended modification.  the problem can be avoided by clicking in empty space, but only if there happens to be any empty space in the workspace at the time, which won't necessarily always be the case.

Quote
Uniformity in the interface is important. The more one tool works like another the easier Anim8or is to learn and use. What about using the original Select tool semantics for Move, Rotate, etc.? I'd have to remove the ability to move in the Z direction (i.e. into/out of the screen) with the right mouse button because that button would add shapes to the selection.

I was thinking about that. The fast selection disrupts that uniformity. The original select tool semantics applied to fast selection would feel a bit odd to me, personally. I can't imagine right-click and dragging to both add a new object to the selection and move it with the selection at the same time. And middle-click dragging to remove and move? Seems like it'd feel weird.
hear hear!  i'd much rather keep the z-move functionality.

now, just thinking out loud here - this might be a bit out of the blue, but thought i'd put it out there anyway: i can't remember off the top of my head whether ctrl+click or shift+click in the workspace does anything at the moment (correct me if i'm forgetting something here?), so i'm wondering whether, rather than having a Quick Select as such, it might be a good idea to use ctrl, shift or alt as a quick toggle back to the Select tool?  ???
Title: Re: Fast Selection
Post by: Raxx on April 21, 2014, 05:18:51 pm
Quote
now, just thinking out loud here - this might be a bit out of the blue, but thought i'd put it out there anyway: i can't remember off the top of my head whether ctrl+click or shift+click in the workspace does anything at the moment (correct me if i'm forgetting something here?), so i'm wondering whether, rather than having a Quick Select as such, it might be a good idea to use ctrl, shift or alt as a quick toggle back to the Select tool?

My issue with falling back to modifier keys all the time to trigger alternate behavior is that it gets harder and harder to remember what the modifier keys do, if they do anything at all, and it's not very beginner friendly (think about Blender). With different alternate behaviors per tool, it kind of gets messy. Shift-clicking with snap-to-grid turned on does relative grid snapping. Ctrl-clicking with single select does paint-selecting. Ctrl+Shift adds selections when using other tools (falls back to the original tool when released).

Also, if widgets get implemented, then having modifier keys to toggle between fast/normal selection might make things even messier. It'd basically be three transformation systems in one. If widgets get implemented, it may be best to have fast selection/tweaking the primary system, and remove the original selection system altogether. This way the workflow would be like this:

With the above system using a combination of only fast selection and widgets, there's no longer a need for the select tool since move/rotate/scale can perform that function, and you can perform careful precise actions with the widgets or make fast adjustments with fast selection. Ctrl can still be used to paint selections, Shift can be changed to rectangle select. Using the Ctrl paint selection tool, inverse selection (subtracting selected shapes and adding unselected shapes to the current selection) can be an inherent feature, thus replacing the middle/right click semantics of the original selection system. Relative snapping with grid snap can be changed to Ctrl+Shift, or instead toggled by right-clicking the button (change it to a different color?--can be the start of alternate function capability by right-clicking buttons). With this, you'd be simplifying the left user interface by removing the select, rectangle select, and non-uniform scale buttons, freeing up the middle and right mouse buttons for future features, and modifier keys share the same type of behavior, promoting that uniformity Steve speaks of ;)

Steve, I don't really have a library of tutorials to show, but I can probably put together a quick video showing the widget actions in the programs I have installed.
Title: Re: Fast Selection
Post by: Steve on April 21, 2014, 05:21:18 pm
Raxx, no need to make any tutorials.  I've found several that show what I was looking for.
Title: Re: Fast Selection
Post by: thecolclough on April 22, 2014, 02:40:38 pm
(think about Blender)
ugh... do i really have to? :o

still, Raxx, fair point about new-user-friendliness.  i'd forgotten about the shift-move-relative-grid thingy (i know i was the one pushing for it, i just have a bad memory ::) ), and i wasn't aware of the other existing toggles.

if we started going down the Widgets route (which i still haven't entirely got my head around the details of, but it does sound promising):
Title: Re: Fast Selection
Post by: Steve on April 22, 2014, 04:35:47 pm
To be called v1.0 I think Anim8or needs a few more key features - but I'm not going to list them because I might not be able to make them work well enough.  But it'd be nice to finally have something called 1.0 :)
Title: Re: Fast Selection
Post by: thecolclough on April 22, 2014, 05:04:27 pm
...but I'm not going to list them...
oh, great - way to leave us all on tenterhooks!  <evil genius voice>"There is a secret list.  But I'm not going to let you read it... because it's a secret!"</evil genius>  :P

i'm going to take an educated guess that one of them might be IK, but i'll understand if you don't want to tell me whether or not i'm right  ;D

so, um... worst case scenario involves us getting to the year 2033 and finding Anim8or on version 0.99993e or thereabouts?


on a more serious note, a couple of other thoughts following on from Raxx's Widgets idea:
Title: Re: Fast Selection
Post by: Raxx on November 04, 2014, 04:51:59 pm
After using Anim8or for a while with the fast selection, I don't like it. It really disrupts my work process by picking up and moving things that I don't want picked up and moved around. And right-clicking and dragging to move or rotate is just weird when combined with how it adds to the selection as well.

I feel that the widget and tweak mode idea should still be used instead.
Title: Re: Fast Selection
Post by: Steve on November 04, 2014, 05:48:19 pm
You can disable fast select and use the original behavior in the guide options.
Title: Re: Fast Selection
Post by: johnar on November 05, 2014, 01:51:00 am
Fast Select has caught me out a few times now, where i've accidentally moved or rotated the wrong object.
 My thinking is maybe it should be off by default, and easilly turned on by the click of a button.
 Shortcut keys are a cool thing, and going between a, m, r and s for select, move, rotate and scale, is still a fast way to go anyway. They're basics and well set out as they are.
 So i think fast select might be better for some people and operations, but should not be default, because could be tricky for learning people, like me..(http://s6.postimg.org/p4cqdev8d/grysmile.gif)
 
Title: Re: Fast Selection
Post by: kreator on November 05, 2014, 02:53:48 am
I always have it OFF as it drives me up the wall!
Title: Re: Fast Selection
Post by: thecolclough on November 05, 2014, 04:45:54 am
have to admit i wasn't keen either; i disabled Fast Select pretty quick after it kept dropping things instead of moving them.
Title: Re: Fast Selection
Post by: Raxx on November 05, 2014, 04:57:42 am
Fast Select has caught me out a few times now, where i've accidentally moved or rotated the wrong object.
 My thinking is maybe it should be off by default, and easilly turned on by the click of a button.
 Shortcut keys are a cool thing, and going between a, m, r and s for select, move, rotate and scale, is still a fast way to go anyway. They're basics and well set out as they are.
 So i think fast select might be better for some people and operations, but should not be default, because could be tricky for learning people, like me..(http://s6.postimg.org/p4cqdev8d/grysmile.gif)
 

I agree, a button (like I mention in this post (http://www.anim8or.com/smf/index.php/topic,4858.msg35360.html#msg35360)) and shortcut key would make this a powerful tool, especially when implemented for point editing and figure/sequence bone editing, but not as the default means of transforming.
Title: Re: Fast Selection
Post by: neirao on April 06, 2015, 01:27:49 pm
Steve, Fast selection not work in SCENE MODE? is a bug or not is implements yet?
Title: Re: Fast Selection
Post by: Steve on April 06, 2015, 02:41:44 pm
Fast selection is only implemented in the object and figure editors so far.  The others are coming soon!
Title: Re: Fast Selection
Post by: neirao on April 06, 2015, 05:48:53 pm
Thanks Steve :)
is because i was in doubt if it was a bug!   
Title: Re: Fast Selection
Post by: Raxx on February 08, 2016, 04:27:33 pm
There's a bug that I haven't figured out exactly how to trigger, but it's happened more than once and I think ever since fast select's been implemented. Sometimes, after a bit of point-editing, it gets stuck in "select" mode and none of the tools work anymore in any of the editors. I don't know if this triggers only while in fast select mode, but after it's triggered it doesn't matter if in fast select or normal mode--none of the tools work. I have to restart Anim8or in order to keep working.

While I'm working on stuff I'll try to identify how it gets triggered, just figured I'd post here in case others have had the same issue.
Title: Re: Fast Selection
Post by: Steve on February 08, 2016, 11:59:21 pm
OK if you can figure out any more clues let me know.
Title: Re: Fast Selection
Post by: AlecJames on March 28, 2018, 05:41:40 pm
Hi Steve
I'm running 1318.  Is fast select mode on in scene mode regardless of the tool bar icon fast select state?

The problem that makes me mention this is that when the mouse cursor moves over an object the orange highlight box appears, if the highlight is present when I render, it is included in the rendered file.  If I have an object as a backdrop (covering the whole screen) it can be difficult to get to the render menu without bringing the highlight up.  It is possible, I just need to be careful.

Could you hide the highlight and deselect everything as part of render initialisation? 

Sometimes when an object is selected in object mode, the object selection box appears in the scene - not sure if this is always the case.
thanks
Title: Re: Fast Selection
Post by: Steve on March 28, 2018, 07:21:54 pm
Are you using the OpenGL renderer?
Title: Re: Fast Selection
Post by: Steve on March 28, 2018, 08:05:02 pm
AlecJames: Fast Select is working correctly as far as I can tell.

When it is enabled it should normally highlight the object under the mouse (but not always, for example for Drag Select, or the non-path objects in the Path editors). This indicates that clicking on an object will affect it's selection.

When disabled it should still highlight what the mouse points to in Arrow Select mode, because clicking on it will affect it's selection. In other modes, like Move or Scale, the selection can't be changed so things are not highlighted.
Title: Re: Fast Selection
Post by: AlecJames on March 29, 2018, 03:25:04 am
Yes this only happens when using the OpenGL render.

I'm wrong about fast select always being on - it works fine.  (Don't know why I thought for a while that the selected items appearing in the render was related to fast select.)