english Sivu saatavilla vain englanninkielisenä.

Blender Git Statistics -> Branches -> transform-navigation-snapsource

"Transform-navigation-snapsource" branch

Total commits : 5
Total committers : 1
First Commit : December 2, 2021
Latest Commit : December 4, 2021


Commits by Date

DateNumber of Commits
December 4, 20212
December 3, 20212
December 2, 20211

Committers

AuthorNumber of Commits
Germano Cavalcante5

Popular Files

FilenameTotal Edits
transform_ops.c3
transform.c3
wm_operator_utils.c2
transform.h2
transform_input.c2
DNA_userdef_types.h1
transform_snap_object.c1
space_userpref.py1
blender_default.py1
wm_event_system.h1

Latest commits Feed

December 4, 2021, 15:39 (GMT)
Allow navigating while transforming

Navigating while transforming is not a new idea:
- https://rightclickselect.com/p/ui/Tqbbbc/allow-navigating-while-transforming (See comments);
- {D1583}
- {T37427}

This feature allows us to be more precise where the transformed element will be placed.

This would avoid, for example, the need for the node editor to automatically update the viewport when a node is transformed.

And with {D9415} navigating while transform becomes a necessity because: how could we move from a point at the bottom of one object to the top of another without being able to rotate the view?

The patch implements this feature as being experimental (See image):
{F11826349, layout=left, width=600}
Because transform's modal keymaps conflict, two (temporary) operators were created to update the keymap and avoid conflicts.
The main solution in the patch was to create the `bool WM_operator_do_navigation(...);` utility that can be used for any operator.

- This patch only affects the transform operators. They are:
- Translation,
- Rotation,
- Resize,
- Skin Resize,
- To Sphere,
- Shear,
- Bend,
- Shrink/Fatten,
- Tilt,
- Trackball,
- Push/Pull,
- Crease,
- Mirror,
- Bone Size,
- Bone Envelope,
- Bone Envelope Distance,
- Curve Shrink/Fatten,
- Mask Shrink/Fatten,
- Grease Pencil Shrink/Fatten,
- Bone Roll,
- Time Translate,
- Time Slide,
- Time Scale,
- Time Extend,
- Bake Time,
- Bevel Weight,
- Align,
- Edge Slide,
- Sequence Slide,
- Grease Pencil Opacity
- This feature affects all editors where transforming is possible (UV, VSE, Graph...)
- The Node editor is the only one that, when canceling, the viewport position is reset
- Navigation is not available when transforming with Release Confirm
- Default modal keymaps need to be edited to avoid conflict (in the patch a temporary operator was implemented to automatically update keymaps)
|Modal Map (Blender):| Conflict: | Current: | New:
|---|---|---|---
| Increase Proportional Influence | VIEW3D_OT_zoom | Wheel Down | Alt Wheel Down
| Decrease Proportional Influence | VIEW3D_OT_zoom | Wheel Up | Alt Wheel Up
| Adjust Proportional Influence | VIEW3D_OT_rotate | Mouse/Trackpad Pan | Alt Mouse/Trackpad Pan
| Increase Max AutoIK Chain Length | VIEW3D_OT_zoom | Wheel Down | Alt Wheel Down
| Decrease Max AutoIK Chain Length | VIEW3D_OT_zoom | Wheel Up | Alt Wheel Up
| Automatic Constraint | VIEW3D_OT_rotate | Middle Mouse | Shift Alt Middle Mouse
| Automatic Constraint Plane | VIEW3D_OT_move | Shift Middle Mouse | Shift Ctrl Alt Middle Mouse

|Modal Map (Industry Compatible):| Conflict: | Current: | New:
|---|---|---|---
| Increase Proportional Influence | VIEW3D_OT_zoom | Wheel Down | Shift Alt Wheel Down
| Decrease Proportional Influence | VIEW3D_OT_zoom | Wheel Up | Shift Alt Wheel Up
| Adjust Proportional Influence | VIEW3D_OT_rotate | Mouse/Trackpad Pan | Alt Mouse/Trackpad Pan
| Select Next Edge Slide Edge | VIEW3D_OT_zoom | Alt Wheel Down | Shift Ctrl Alt Wheel Down
| Select Previous Edge Slide Edge | VIEW3D_OT_zoom | Alt Wheel Up | Shift Ctrl Alt Wheel Up
| Increase Max AutoIK Chain Length | VIEW3D_OT_zoom | Wheel Down | Shift Alt Wheel Down
| Decrease Max AutoIK Chain Length | VIEW3D_OT_zoom | Wheel Up | Shift Alt Wheel Up

|Modal Map (Blender 27x):| Conflict: | Current: | New:
|---|---|---|---
| Increase Proportional Influence | VIEW3D_OT_zoom | Wheel Down | Alt Wheel Down
| Decrease Proportional Influence | VIEW3D_OT_zoom | Wheel Up | Alt Wheel Up
| Increase Proportional Influence | VIEW3D_OT_view_pan | Shift Wheel Down | Shift Alt Wheel Down
| Decrease Proportional Influence | VIEW3D_OT_view_pan | Shift Wheel Up | Shift Alt Wheel Up
| Adjust Proportional Influence | VIEW3D_OT_rotate | Mouse/Trackpad Pan | Alt Mouse/Trackpad Pan
| Increase Max AutoIK Chain Length | VIEW3D_OT_zoom | Wheel Down | Alt Wheel Down
| Decrease Max AutoIK Chain Length | VIEW3D_OT_zoom | Wheel Up | Alt Wheel Up
| Increase Max AutoIK Chain Length | VIEW3D_OT_view_pan | Shift Wheel Down | Shift Alt Wheel Down
| Decrease Max AutoIK Chain Length | VIEW3D_OT_view_pan | Shift Wheel Up | Shift Alt Wheel Up
| Automatic Constraint | VIEW3D_OT_rotate | Middle Mouse | Shift Alt Middle Mouse
| Automatic Constraint Plane | VIEW3D_OT_move | Shift Middle Mouse | Shift Ctrl Alt Middle Mouse

Differential Revision: https://developer.blender.org/D2624
December 4, 2021, 15:38 (GMT)
Merge remote-tracking branch 'origin/master' into transform-navigation-snapsource

December 3, 2021, 14:25 (GMT)
Build warnings
December 3, 2021, 13:40 (GMT)
Allow navigating while transforming

This feature has been desired for some time:
- https://rightclickselect.com/p/ui/Tqbbbc/allow-navigating-while-transforming (See comments);
- D1583;
- T37427;
- D2624;
December 2, 2021, 23:03 (GMT)
Transform: interactive mode for setting a 'Snap Source'

This patch implements part of what was stated in {T66484}, with respect to `Base Point`.

## Introduction

The snapping feature of the transform tools has a variety of applications:
- Organization of nodes.
- Positioning of frames in precise time units.
- Retopology with snap to face
- Creation of armatures with bone positioning through the snap to volume
- Precise positioning of 3D or 2D objects in the surrounding geometry (CAD modeling)

The goal of this document is to make it more powerful for precision modeling and still supporting the old use cases without extra complexity.
The main topic addressed here is the introduction of a **interactive mode for setting a snap source** (See terminology).

## Terminology

* **Snap Source**: 3d coordinate * we want to snap from. (Currently defined by the `Snap With` options: `Closest`, `Center`, `Median` and `Active`).
* **Snap Target**: 3d coordinate* we want to snap to. (Vertices, Edges, Faces, Grid...)

## Interactive Mode for Editing a Snap Source

Currently the fixed snap point can only be obtained through the `Snap With` options. So it's a little tricky for the user to define a snap source point having so much geometry on an object.
Because of this, the user needs to resort to impractical solutions to get a point in the geometry.
See example of an impractical use:
{F11714181, layout=left, width=960, alt="The user used the cursor (which can be snapped) to choose the snap origin point."}
The user used the cursor (which can be snapped) to choose the snap source point.

While it is possible to work around this current limitation, it is important to reduce the number of steps and allow the user to set a snap source point through an optional interactive mode during a transformation.

The proposed solution is to be able to move the current snap source point through a modal modifier activated with a key (eg. B).
The snap source point can thus "snap" to the elements in the scene (vertex, mid-edge, Lamp, ?) during this mode.
{F9122814, layout=left, width=960, alt="Base Point Snap, example of transform operation via the shortcut (not the tool). After pressing g and the snap base change shortcut (e.g., shift + ctrl) the user set the base point. The base point is then visible until the end of the operation. The z axis constrains the final position."}

## Implementation Details

- The feature will only be available in 3D View.
- The feature will only be available for `Move`, `Rotate` and `Scale` transform modes.
- The snap source editing will be enabled with a single click on the modifier key (B).
- Having a snap point indicated, the new snap origin point will be confirmed with the same buttons that confirms the transformation (but the transformation will not be concluded).
- The snap source editing can be canceled with the same key that activated it (B).
- If the transformation is done with "release_confirm" (common for gizmos), the new feature cannot be enabled.
- During the transformation, when enabling the feature, if the snap option is turned off in the scene, the snap will be forced on throughout the rest of the transformation (unless interactive mode is canceled).
- During a transformation, if no snap target is set for an element in the scene (Vertex, Grid...), the snap targets to geometry Vertex, Edge, Face, Center of Edge and Perpendicular of Edge will be set automatically.
- Snap cannot be turned off during the snap source editing.
- Constraint or similar modification features will not be available during the snap source editing.
- Text input will not be available during the snap source editing.
- When adding multiple snap points (A) the new prone snap source point will be indicated with an "X" drawing.
{F11817267}

Maniphest Tasks: T66484

Differential Revision: https://developer.blender.org/D9415

MiikaHweb - Blender Git Statistics v1.06
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021