Change multitouch transform modes?

The multitouch transform is great, but I keep wanting single finger drag to be translate, not rotate. Could we get an option to change this? So:

-single finger = translate
-2 finger rotate on screen = rotate
-2 finger pinch/expand = scale

I may not understand what you mean so please, forgive me if I don’t.

I would think that the gestures you outlined would get confused with those same gestures being used to change your view. Then it would be up to using the view cube when using the transform tool - which to me would be a major pain.

The transform tool only works if you touch an object, so it shouldn’t confuse existing shortcuts for moving the view.

Maybe that’s why I’m a little confused. You can perform all the movements you outlined depending on the options you have selected. Take a look at the options in the viewport:

When checking/unchecking these, it gives you different options. Only have the Move option selected and you get one finger move (translate?).

Heh, I recorded a little tut to explain this over in the tuts section, I’m aware of the buttons, and I’m aware of the multitouch modes, what I’m saying is it’d be nice to have an option to rearrange the modes.

When you drag on a model with either a finger or stylus/pencil, for the most part the action follows your finger; a clay brush, a paint stroke, the transform tool in move mode. When you have multitouch and move+rotate enabled, to me it feels like it breaks the similarity to other tools; the primary gesture (with a single finger) should be move, and the secondary gesture (2 finger) a rotate.

Yes that was the reasoning.

The tricky thing is that rotate has 2 mode for now: 1 finger for inverse trackball and 2 for roll rotate.
I’ll need to experiment if I can make it work easily with 2 fingers translate for trackball.

Like already said in discord I would like to share my points here as well.

Inserting does not feel as perfect like most other Nomad tools.
My thoughts:

  1. one insert session starts with inserting first object.

  2. One finger drag for size starting from zero on first use. Insert object is oriented to surface normals.

  3. two finger drag for move

  4. two finger rotate to rotate object

  5. two finger pinch for scale corrections

  6. when inserting second object, it will start in same size and orientation like the object inserted before, just where you tap on surface.

  7. on second object, one finger drag moves object on surface, scale and rotate are two finger pinch and rotate only.

  8. while transforming one can hit instance or clone. This will leave an object instance or clone in place without interrupting transformation.

  9. three finger gestures are disabled during transform to avoid accidental leaving transform mode

  10. transform mode ends with releasing all fingers.

  11. a insert session with inserting object in same size like last object will end with choosing a different tool.

  12. stamp tool gets a stamp option with same behaviour described in point 8.

I really believe this will make the workflow much more fluent and effective.
I am uncertain if one finger rotate should be active on very first insert action.

2 Likes

When using the Transform / Insert tool, a TOUCH area may appear at the edge.
Only in this area the different actions could be activated precisely with the fingers without using the screen area…

Such small sliding touch surfaces with definable actions would generally be very practical.

1 Like

Ok, after testing more, I am with Holger and mestela.
Disable rotation per default and it works well with one finger.
One can activate rotation if needed in side menu.
Or, when all transformations are active, only move is one finger. Rotate and scale are two finger gestures, exactly like @mestela said. Maybe as long move is active as well only?

The only thing left is that I have to drag to orientate object to surface normals.
Any chance to have the surface orientation on first tap? So I can tap multiple objects in, like a woodpecker without drag? :bird:

Forget points 1-7

Generally: please consider an optional locked floating mode.
It will keep you in transform till you end it by pressing a button not by releasing finger.
It is super stressy to know that releasing finger once is ending this session. As far as I know insert tool is the only way to place an object on surface normals, transformation after with gizmo is no perfect option then. Furthermore it could be simply awesome with point 8) a flash function for instance and clone to leave an object in place without leaving transformation mode.

Some more points would be wonderful to have though.

  1. disabled three finger action while in transformation to avoid accidental leaving transformation
  2. same option for stamp tool would be simply awesome! The little transform menu and a stamp function instead of instance & clone, to leave a stamp while still in transformation mode.
  3. scale down all default object to work better with default sphere. All of them are huge now. A fifth size or less would be enough
  4. the transform menu is quickly overseen, isn’t it? It pops up only when inserting, while one is focussed on object, not on tool menu.
    Maybe an optical hint could lead more users to this option directly on first use?

:vulcan_salute:

1 Like

Gestures are so much better! Just please consider to use two finger rotate for rotating objects instead of two finger horizontal drag. It feels so natural and is done like this in most apps for rotating layers objects etc.

But the rest feels so good!! @mestela @Holger_Schoenischka have you tried Webdemo? Super cool already!

Interesting! I can see the default behavior has changed in the web demo, already more intuitive.

I can only use my mouse/cursor on web on pc though, i can’t get the web demo to load on an ipad, so can’t test the gestures. Is there a trick, or I assume safari on ios can’t load it?

It should work, make sure to have up to date iOS

If two finger rotate is supported instead of two finger drag it would be perfect.
This would work even in first stroke very well.

First stroke:
One finger drag scale
Two finger drag for move
Two finger rotate for rotation (I know I said disable, but this way it should work like a Charme.)

Else
One finger drag for move
Two finger pinch for scale
Two finger rotate for rotation

Webdemo has it’s limitations.
Will this work with finger and pencil as well?

What you are completely missing is that two finger rotate doesn’t make much sense in 3d.
Without the snap you need 2 degree of freedom, not 1.

ps: degree of freedom is unrelated of the number of finger down. The camera with one drag finger allows for 2. The rotation that you request (any 2d app) even though it uses 2 fingers only have one degree of freedom (in 3d that would be the “camera roll” rotation)

True, I haven’t thought about second axis.
In this special case one axis is enough - most of the times.
But true, for transform tool in general, rotation needs freedom n all axis.

I like your new solution to tap once to switch between move & rotate. :star_struck:
This just have to be communicated, as it is new gesture language.

EDIT same for stamp, with stamp button to stamp without release……uh, I am wet :joy:

Ah yes, the ipad was on ios14, upgraded to 15 and it works now.

Translate as the default drag behavior is much nicer now, feels more intuitive. Multitouch still feels a bit strange, not sure what the fix is.

Maybe steal zbrush’s way and split into distinct tool behaviors, dragRect vs dragDot?

DragDot = translate is the primary mode, it follows the cursor, and rotation aligns in the direction of travel. Scale is fixed.

DragRect = scale is the primary mode, rotates to point towards the cursor. Translate is fixed.

Both are useful, dragdot for things like repeating patterns, eg studs on a belt, while dragrect is useful for precise single shot things, like an eye alpha or a embossed logo, or teeth into a jaw.

After Insert it should act like DragRect, just need to add the rotate part.

I don’t really like the idea of adding more transform tools.
But maybe by rethinking the option in the Transform tool on the left.
Maybe « snap move », « snap scale » and « free ».
In replacement to « snap, move, rotate, scale »

Edit: Implemented in the web demo

Thanks for looking into these changes Steph!

Seeing the up and forward vectors helps a lot.

The rotate-towards-drag-direction is good, but gets very erratic if you’re dragging small amounts; could this use the same lazymouse/rope stabiliser as other tools?

Also looked into how the insert tool works, which I think covers the use cases for DragRect.

Functionally it works, but might be easier to understand if the left-hand menus had the same buttons as transform, but with a single extra button for the object. This would pop out to choose between the stock primitives, or the scene objects. Right now it wasn’t clear that the menu was scrollable to reveal other shapes, nor is it clear if you’re in clone/instance mode as to which scene object will be used.

I also noticed that the drag-to-scale seemed to pop and glitch. After playing with it I I noticed you’re copying the scale used for the previous insert, but if you drag beyond a certain distance, it now tracks the cursor to scale. It might be clearer to threshold this? Eg:

  1. user clicks and holds
  2. scale is set to 1.5 (scale set by previous insert)
  3. as the user drags away from the center, the scale is being tracked internally as 0.1, 0.2, 0.3 etc… but because this is less than 1.5, there’s no visual change to the scale, only rotation
  4. when the user drags beyond 1.5, they’ve now passed the threshold, and scale can now update as the user drags, to go either bigger or smaller.

To me this would prevent accidental scale changes, and still allow easy adjustments to rotation.

I’ve reverted the changes, I don’t really see the point in DragDot for object insertion in the end.
Even with lazy/smoothing, you end up with less control than just controlling the rotation independently.

I’ve kept the DragRect only after insertion, althought the rotation part is a bit useless as many primitives are radially symmetric.

Every menu has a scrollable hue at the bottom.
As for the popup selector, it’s something I had in mind but not 100% convinced for now, maybe later.

And it works AWESOME!

Together with sync and transform snap.
I am in love!

2 Likes