Transform: add feature to edit the 'Snap Base' #104443
No reviewers
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
8 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#104443
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "mano-wii/blender:snap_base"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements a new modifier key (
B
) to change the 'Snap Base' during a transformation.Ref #66424
Implementation Details
Move
,Rotate
,Scale
,Vert Slide
andEdge Slide
transform modes.Snap Base Edit
is enabled while we are transforming and we press the keyB
Snap Base Edit
is confirmed when we press any of the keys:B
,LMB
,Enter
Snap Base Edit
mode.Snap Base Edit
mode.Builds
https://builder.blender.org/download/patch/PR104443
Just testing if packaging works:
@blender-bot package
Package build started. Download here when ready.
746455703c
to976e34c659
976e34c659
to001b09cbd9
001b09cbd9
to9edfd3356b
@blender-bot package
Package build started. Download here when ready.
Would this be merged anytime soon? This is such a life-saver feature for architects
I tested the new build and it works as expected.
Germano Cavalcante referenced this pull request2023-03-14 15:43:45 +01:00
9edfd3356b
to2595a4469d
@blender-bot package
Package build started. Download here when ready.
What's preventing this patch from progressing any further?
Is just awaiting for reviewers availability, or are there still any pending design choices, dependencies or technical considerations?
2595a4469d
toa44895b13a
When will this get reviewed?
Hopefully before the 4.0 release
@blender-bot package
Package build started. Download here when ready.
a44895b13a
to09776c904f
Generally works well, running into a crash with edge slide though.
@ -1246,2 +1279,4 @@
}
break;
case TFM_MODAL_EDIT_SNAP_SOURCE:
if (event->prev_val == KM_PRESS) {
Note what the
prev_val
means in this context (while it works it's relying on some internals and isn't common usage). Arguably there should beTFM_MODAL_EDIT_SNAP_SOURCE_ENABLE
/TFM_MODAL_EDIT_SNAP_SOURCE_DISABLE
events to detect press release although I'm not sure this is really needed.@ -0,0 +41,4 @@
eSnapTargetOP target_operation_prev;
struct {
void (*apply)(struct TransInfo *t,
Prefer if callbacks use an
_fn
suffix, especially when mixing data & callbacks in a single struct.Noted some minor requests, otherwise LGTM, no extra iterations needed.
Linked ASAN report of crashes in vert and edge slide.
This is for me one of the greatest Blender features ever added to Blender since I first started using it some 13 years ago, and the end of my last great gripe with it.
Thank you to Germano and Cambell for seeing this through!
Me too, now I can finally recommend Blender to my friends majoring architecture. Big thanks to Germano :)
Hi. I've got a question about the way basepoint snapping is calculated during snapping on edge.
Not sure which level this issue belong to, so I asked it here - https://devtalk.blender.org/t/snapping-precision-modeling-improvements/28435/20?u=1d_inc
Thanks for the feedback :)
Before implementing this solution, it might be good to see how the change to code #108467 will proceed.
In my experience it is the solution to the most heavy Blender basic functionality design incompleitance since 1994.
09776c904f
to38e7c245c9
Updated based on the review.
Fixed bugs and now we have 2 new modal keyitems instead of 1. They are:
The advantage of having both is that users, if they prefer, can set the confirmation ("EDIT_SNAP_SOURCE_OFF") to release the
B
key instead of pressing it.I plan to merge into master later today if everything is working fine.
@blender-bot package
Package build started. Download here when ready.
38e7c245c9
to8bf06f6419
Downloaded the build (the updated one is windows only), discovered two options in keymap prefs (regular and off).
I found (off) snap option in modals keymap and set it to "release" to test.
It is a bit faster (saves a mouseclick while utilizing a finger which is located at the B key during operation anyway), but in gizmo mode it assumes 2 keys (B and LMB) held simultaneously during aiming.
In my opinion any kind of pressholdings are better be avoided and minimized by default if is possible (especially double pressholdings, because the motorics decision which one should be released first require training to be easily performed on a realworld tasks), but it is nice to have a technical possibility to set it up like that.