Rhino WIP Feature: Gumball Improvements

Hi all,

In the Rhino WIP we’ve focused on fine-tuning the Gumball to improve usability in everyday modeling scenarios.

Orientation and Location

SubD Modeling is an iterative process or adjusting faces, edges and vertices over and over until finding the right shape.

In Rhino 8 and previous versions, you would need to:

  1. Select your Sub-Objects
  2. Relocate and orient the Gumball
  3. Make your transforms
  4. Repeat…

In Rhino WIP, the Gumball remembers its location and orientation for selection sets. This is key in streamlining the formfinding process.

For Groups

We’ve made the Gumball remember its orientation and location for groups. This means that when you reselect a group the Gumball will return to the same orientation and location it had the last time the group was selected.

GroupFrame

For Sub-Objects

Similarly, we’ve made the Gumball remember its orientation and location for SubD Sub-Object selections. This means when a same selection of Sub-Objects is selected again later, like with a named selection, the Gumball will remember its previous orientation.

Also, any previous sub-object selections, that become part of subsequent sub-object selection set, are able to remember their own “frame” when reselected.

MultipleSubobjectFrame

Snappy / Smooth Toggle

When the Gumball is in Snappy mode, we’ve begun drawing the Gumball menu ball as a square. If it’s in Smooth mode, it keeps the traditional circle. This gives a visual indicator of how the Gumball will behave when a drag begins. We’ve also added a Command Line option to toggle the style (S).

SmoothSnappy

New Rotate-Extend Mode

We’ve also enhanced the extend mode on the Gumball by supporting rotations. In Rhino 8, you could only use the Move tool to extend a face. Adjacent faces would follow along. However, when rotaing a face, adjacent faces would deform.

In Rhino WIP, when CTRL+Shift is held with the rotate handle on a face the adjacent faces are rebuilt to follow the changes.

RotateExtend

We’re hoping these new features make the Gumball feel a bit smarter and ease some of the common pain points.

Looking forward to your feedback!

Download Rhino WIP…

Amazing!

Gumball selection memory are absolutely needed functionalities, thanks for them.

Gumball extension when it’s a bit more then a box never worked for me. I hope this added feature is making both more reliable. I don’t have example right now but I’ll collect for you to try.

Thanks.

It works nicely as long as everything is planar

And cylinder, cone and fillets?

I meant the extend option.

These new features are great! :slight_smile:

I’m glad to see that the tiny white indicator changes its shape between a circle and a square based on the dragging mode. I wish it was a single click directly on the circle/square icon instead of a right-click to open an pop-up menu followed by another mouse click. If you remember, that was one of my requests about Super Gumball (UVN mode, control polygon mode and other modes also being included there).


About the new rotate-extend mode. I was just about to write a request to improve the ! _FoldFace, because currently it’s incapable of keeping the adjacent faces in the original plane after the selected face is being rotated. Here is an example to show the difference.


PS. Please, include testSuperGumball :wink:

Great changes, but I have a problem with Snappy Gumball. I think I’ve mentioned this somewhere in the past. Using M + Spacebar isn’t very convenient for changing Gumball modes, especially if the user always wants to start in one mode (smooth) and only activate snappy at the right moment to snap to something. If Rhino is supposed to be convenient for quickly (but precisely) pushing objects, I really miss this feature:

  • Osnaps is enabled by default because it’s simply a more convenient initial state.
  • I grab an object and start moving it (Gumball smooth mode by default) because I don’t want to accidentally snap to dozens of elements in the scene the moment I start moving the object.
  • Only when I’m near an object I’d like to snap to, I hold down the key or press it once to activate “OneShot Snap,” e.g., Ctrl or Tab, and snap to it (I know Tab is normally for Sub-D, so everyone can choose their own key). I’m leaning towards Ctrl key.

For something as basic as moving and Snapping, using M+Spacebar is too much hassle, especially since M is on the right side of the keyboard, and the other modifier keys (Shift, Alt, Ctrl) are on the left, under your left hand.


In short:
I think the most convenient option would be “One Shot Snapby pressing CTRL once, almost identical to “One Shot Duplicate” in Gumball (which we already have now). This similarity seems intuitive to me for this two absolutely basic operations.


I hope I haven’t missed anything, Gumball has quite a few features.

Being forced to reach the keyboard every time is cumbersome.

There are a couple of super convenient solutions, especially for those who use a 3d mouse. We only need the approval of the “McNeel” team. :slight_smile:


Method 1:
Use simple “Away gesture” (a.k.a. L-shaped gesture) control to switch between a Dual drag strength mode or Dual snap mode. Here is a detailed explanation of the Dual grad strength mode:

Likewise, the Dual snap mode could use the same principle, the Rhino users just needs to decide which of the two modes they want to set by default.

If you drag the Gumball handle as usual along its own axis, this should be a Smooth dragging by default. However, as soon as you move away the mouse pointer from the Gumball arrow handle (while still holding the left mouse button pressed), that will trigger the Snappy dragging, because Rhino will be smart enough to understand that you want to snap to objects that are away from the arrow handle. No need to press or hold any keys, no need to leave the 3d mouse.


Method 2:
Activate Snappy dragging by dragging the Gumball arrow handle normally and then moving the mouse pointer over the objects of interest where you want to snap, then either (a) make a circle movement there or (b) hold the mouse pointer in the same spot for at least 2-3 seconds (the time period must be user-adjustable in milliseconds, similar to the settings of Smart track). Rhino should be smart enough to understand that when you do one of these two gestures, you want to activate Snap dragging.

I only accept “holding to perform action” on my smartphone, and only barely

To be honest, aiming for something, losing the aim to draw some shape, and aiming again to stick is even more tiring for me than pressing M + Spacebar

Tap Ctrl once when you are ready to stick should be as fun and require as little of precision as this:

In other words, If I want to stick something, I refuse to spread the glue before I arrive in location (current system in Rhino), especially if the path to the destination is crowded. I want to jump and smash it!

One can argue that I can use Smooth dragging, and while being at the desired location type M+Spacebar (while holding LMB) is like looking for the end of the packing time every time (remember about moving left hand to the right side of the keyboard where the letter M is).

Because I’m sticking so many things, I also don’t want to spend even the slightest amount of energy on preparing myself to stick something.

https://www.youtube.com/shorts/a_j-8KKLPss?t=6&feature=share

I apologize for using so many media beyond the text description of the problem, but I really want to emphasize the simplicity I am looking for.

If this action could be performed by tapping one key, then it could be assigned to: 1 key on the keyboard (tapping Ctrl), one of the mouse keys (common side keys on the mouse), one of the keys of 3d mouse. And it’s important to be a One Shot action, not a toggle.

After reading your reply of my quoted words, I have the impression that you didn’t understood the simplicity of the proposed methods to temporarily execute “Smart snappy dragging” only when it’s needed (via a simple gesture or holding the mouse pointer in the same spot for a brief moment) while the “Smooth dragging” is the default one. :slight_smile: Don’t let the words “gesture” and “hold” scare you! It’s an extremely simple action, which is already used in Rhino by the “SmartTrack” functionality.
On top of that, did you know that exactly the gesture is used anyway when you want to snap and you use Snappy dragging? :slight_smile:

Using “Smooth dragging” as the primary mode is better in terms of having a full uninterrupted control over the object movement, along with the ability to do fine adjustments without accidental snapping to nearby objects.

Here is a short video that show how the eventual “Smart snappy dragging” should work (see the 2nd half of the video): :slight_smile:

My proposed method will also fix the pesky behaviour of unwanted snapping to various other objects, which is a result of the always-on “Snappy dragging” that tries to snap to everything that’s located next to the mouse pointer right from the beginning of the dragging. The “Smart snappy dragging” avoids that behavior by activating the snap only if the user holds the mouse pointer in the same spot for a set period of time (in my video I used “SmartTrack” at 1000 milliseconds to simulate how the "Smart snappy dragging” will work).


P.S. A reminder for a bug that was already reported last year and maybe (???) fixed in Rhino 9 WIP. Check the Command line at the 0:38 minute of the video, where Rhino 7 struggles to open the Rhino Options, because I use a high number of custom display modes. If I remember correctly, the developers promised to make opening the Options faster, no matter how many display modes are included. Was that resolved in the latest V9 so far?

What do you mean by L -shaped-gesture?

What most people probably think you’re saying is ‘draw an L shape with your mouse’. But you seem to be saying something else. So what is it?

I haven’t had time to test, but are all of these unnecessary resets fixed yet?

Apart from not being able to toggle snappy from smooth with Alt (and vice versa, unnecessarily jumping the moving objects when you hold down Alt from snappy) those are my biggest gripes with the Gumball.

@eobet, the link you provided is about keeping the structure of the polysurfaces for “PushPull”, whereas I mentioned the “FoldFace” editing that tends to rotate the adjacent faces. I hope that the new behavior of the Gumball in Rhino 9 WIP showed in this topic will also apply for both, “PushPull” and “FoldFace”.

@ftzuk, I explained it in detail in my post above where you read about the L-shaped gesture, as well as in the linked topic. The latter also consists a picture showing how the gesture operates, as well. It’s super easy to understand. The gesture itself is the most convenient and quick way to activate single-take “Snappy dragging”.

The alternative method is showed in my video above and it relies on holding the mouse pointer in the same spot for a set period of time (lets say 1 second). The same technique is already used by “SmartTrack” to activate its temporary snapping points, so using it to activate the “Snappy dragging” mode of Gumball should be a piece of cake for the developers. :smiley:

We’ve discussed internally already that M isn’t on the right side of the keyboard. I’m still not entirely convinced about some gestures or tapping versus holding modifier keys to get something different to happen. Besides being finnicky they’re terribly difficult to teach new users. Even tapping ALT for copy I’m not a huge fan of. For now I’ve opened RH-92017 to see about improving this. That should get the key to toggle on the right side of the keyboard.

I opened an issue and linked it in the original thread.

I’m on your side but is a common key for ADOBE software so many users are already tought on this.

I was confused for a second, but meant right / wrong, not right / left, right? :smiley:

Also, I wonder if you ever considered Instant Aliases to be exclusive to command options rather than global? While dragging an object using Gumball, I would like this Mode / Style toggle to not be Sticky (so One Shot, in other words). If someone needs a more permanent toggle than clicking on the Gumball circle and changing it from the menu, maybe wouldn’t be too much work.
You could also consider both ModeToggle and OneShot options.

Anyway… having it under my resting left hand position is the most important.
Using Instant Alias “S” while in command would be a bonus, but this one is not something that I gave a lot of thought to.